我是一个新手,在学习Java和python之后,我是一个新手。无论如何,我很难弄清楚这一点。假设我有一个类
class Bicycle{
....
}
和
public class Bicycle{
....}
有什么不同?那呢?
public static class Bicycle{
// if this can be a valid class def in first place
}
然后,在这之后..。让我们来谈谈变量。
class Bicycle{
int Gear or public int Gear
我已经决定与F#、MVC4和Nhibernate一起承担一个相对较大的项目。
现在,在C#中,我通常的做法是对某些属性(例如自动递增/标识属性、时间戳等)使用私有的设置器。I.e
public class Guide
{
public int Id { get; private set; }
public DateTime Created { get; private set; }
public Guide()
{
Created = DateTime.Now;
}
}
这里的id是一个“标识列”,ORM将负责设置它的值。
在F#中,这
SubclassOne扩展了ClassOne并实现了InterfaceOne,两者都有一个void doSomething(){}方法。但是,编译器显示错误消息,
doSomething()在ClassOne中不能在InterfaceOne中实现doSomething(),试图分配较弱的访问权限,是公开的
有谁能告诉我为什么编译器会显示这个特定的消息?背后的原因是什么?
public class ClassOne {
void doSomething(){
System.out.println("do something from InterfaceMe
在使用反射时,我发现了一些有趣的事情。我尝试检索简单类的构造函数和它们的修饰符。
public class Test {
public Test(Object... args) {}
}
下面是检索构造函数修饰符的代码:
Class<?> clazz = Test.class;
Constructor<?>[] ctors = clazz.getDeclaredConstructors();
for (Constructor<?> ctor : ctors) {
int mod = ctor.getModifiers();
我有很强的Java基础,当谈到PHP时,我遇到了一些OOP方面的问题。
请看下面这两门课:
Contacts.php
<?php
public class Contacts {
}
?>
UnitTest.php
<?php
require_once 'PHPUnit/Framework.php';
include 'Contacts.php';
class UnitTest extends PHPUnit_Framework_TestCase {
public functio
当谈到“静态”和“密封”时,我希望类(和方法)的默认排序顺序如下:
sealed public class Foo { static public void Bar() {} }
Resharper的默认设置自动将上述类定义重新排序到:
public sealed class Foo { public static void Bar() {} }
如何更改“静态”/“密封”、“vS”、“公共”/“私有”等的默认排序顺序?
当我写一个类Widget.java
public class Widget {
int data;
String name;
}
编译器生成的构造函数是公共还是默认?
公众就像
public class Widget {
int data;
String name;
public Widget() {}
}
而缺省值则类似于
public class Widget {
int data;
String name;
Widget() {}
}
好的,我的代码可以工作,但是我不明白为什么private变量在函数equals()中工作--在这种情况下。
或者,如果您从同一类型的对象结构中调用另一个对象,那么private标识符就不算在内,这只是一个技巧吗?
public class TestClass implements Comparable <TestClass> {
private final String name;
public TestClass(String name) {
this.name = name;
}
@Override
public int
我已经创建了一个继承类,它应该接受没有值的变量,并给它们一个值,并在父类方法中传递新值。此值与父类不同。我尝试通过在Start()中声明变量值来声明变量值,但是没有其他任何方法修复它。我收到控制台消息
警告CS0219变量'shootDelay‘被赋值,但它的值从未被使用’
父代码
public class NPCAI : MonoBehaviour
{
public enum AIstate { Idle, Attacking }; //class that represents a group of constants
public enum AiMoveDirec
我在使用泛型抽象类扩展内部类时遇到了问题。
我得到了一个奇怪的Non-static field cannot be referenced from a static context,因为类本身是静态的,不一定是字段值。
这基本上就是我所拥有的:
// AbstractFoo.java
public abstract class AbstractFoo extends FrameLayout {
// Some logic
}
// AbstractBar.java
public abstract class AbstractBar<T> {
int someNum
我怀疑我应该在ReSharper / Options / Languages / C# / Formatting / Type成员资格布局中创建一个模式。我目前正在使用默认模式,我希望得到一些帮助,谁是擅长他们。
我希望这是错误的
public new static Age Empty {
get {
return empty;
}
set {
empty = value;
}
}
这就是,对,
public static new Age Empty {
get {
return empty;
}
class Program
{
static void Main(string[] args)
{
// in here iam create an instance of child class
var obj = new dog("meat");
obj.run();
obj.sleep();
Console.ReadLine();
}
}
abstract class animal {
根据
在类C中声明的实例方法m1覆盖在A类iff中声明的另一个实例方法m2,以下所有内容都是正确的:
C是A的一个子类。
m1的签名是m2签名的一个子签名(§8.4.2)。
以下任一项:
- m2 is public, protected, or declared with default access in the same package as C, or
- m1 overrides a method m3 (m3 distinct from m1, m3 distinct from m2), such that m3 overrides m2.
注:,这是一个自我回答的问题.这可能很简单,但我认为值得分享。
假设我有一个匿名类声明:
MyObject myObj1 = new MyObject() {
};
其中MyObject是:
class MyObject {
public MyObject() { // explicit public constructor
}
...
}
来自Java规范的 (强调我):
匿名类不能有显式声明的构造函数。相反,为匿名类隐式声明匿名构造函数。
如果我试图获得public构造函数的数量:
// Number of public constructors; p
我有一个WCF服务方法:
public EntityBase GetEntityById(string entityName, object entityId)
我有两个基类:
public abstract class EntityBase
{
public virtual object Id { get; set; }
}
public abstract class VersionableEntityBase : EntityBase
{
public virtual int Version { get; protected set; }
}
我从EntityBase继承
我很难弄清楚如何从我的ListQueue类中调用“前台”方法。ListQueue类实现了接口"Queue",该接口还包含作为变量的“前台”。该方法在队列中是公共的,在ListQueue中是保护的。
当我尝试用q1和q2调用前台时,这个方法是不被识别的。我认为这是因为它是受保护的访问修饰符,因为它能够识别其他具有公共访问权限的方法。如果是这样的话,有什么办法可以绕过这种情况而不把保护变成公众呢?我试着在ListQueue中的方法上面添加@覆盖,但是说它不会覆盖超类。
public class BaseMerging {
private static Queue mergeQue
例如,如果我们有:
package a;
public class A {
private int moo
protected int cow
int spot;
public A() {
}
}
还有..。
package p;
Import p.A;
public class C extends A {
int what;
public C (A a) {
what = cow;
what = spot;
}
}
那么,为什么什么=点是有效的,什么=点是无效的呢?(或者至少根据我的笔记,什么= spot是无效的。)
我不知道没有访问标识符的方法是什么。在此代码块中,我指的是void updateNumTo5方法。
private int num = 0;
#region public methods
public int Get7()
{
return 7;
}
#endregion
#region private methods
private int get6()
{
return 6;
}
#endregion
#region Unknown name
void updateNumTo5()
{
num = 5;
}
#endregion
假设我有一个类:
public class Products
{
public string ID { get; set; }
public string Name { get; set; }
public string GetItemName() { ... }
public void SetItemName() { ... }
public string GetItemID() { ... }
public void SetItemID() { ... }
//...
}
可以让所有的属性或方法继承父类的访问修饰符,这样我
我正在研究一般的约束,我碰到了这个,就被卡住了。我尝试通过我自己的类复制代码,但是我得到了“不一致的不可访问性”。
//this is the reference study class
public class MainView<T> : System.Windows.Window where T : INotifyPropertyChanged, new(){}
//my own
interface ITest{}
class B : ITest
{
public B()
{
}
}
public class MyClass<T> :
我有一个DLL,其代码如下:
public class MyInterface
{
private Class1 class1;
public void DoSomething()
{
class1.DoSomething();
}
}
public class Class1
{
public void DoSomething()
{
//Do something...
}
}
其他开发人员将使用我编写的这个DLL。他们只应该使用MyInterface,不应该知道Class1。直接使用Class1会产生
我很难理解为什么在下面的代码中出现错误,而在另一种情况下则不然:
场景1(有错误)
class App{
public static void main(String[]args) {
ClassA a = new ClassB();
a.print();
}
}
class ClassA {
protected void print() {}
}
class ClassB extends ClassA {
void print(){}
//creates error: Cannot reduce the vis
我实现了监听用户位置的服务:
public class ListenLocationService extends Service {
private final IBinder mBinder = new LocalBinder();
public interface ILocationService {
public void StartListenLocation();
public Location getUserLocation();
}
public class LocalBinder extends Binder imple
我有两个类:
首先,使用一个构造函数:
public class First {
First (ObjectA myObjectA) {
//do stuff
}
}
第二,使用两个构造函数:
public class Second {
Second (ObjectB myObjectB) {
//do something...
}
Second (ObjectC myObjectC) {
//do something else...
}
}
当我想实例化我的First类时,Eclipse会生