最新回答 / IEwuIL7
程序运行,需要一个入口,这个入口就是main就是我们经常写的public static void main(String[] args){} 这里面的main,Java运行就是从这里进入当运行程序的时候,通常都是以main方法作为起点,以main方法中的第一条语句作为程序的第一条语句。由于main方法是一个静态的方法,所以该方法放在任何一个类中都是可以执行的main方法的形式是固定的,以下写法都不能作为程序的入口:public static void mian() ...
2019-08-09
最赞回答 / Molldy
静态变量和静态方法随类的加载而加载,若此时未创建类的对象则内存中并没有非静态变量,所以静态方法访问非静态变量会出错。而普通的成员方法需要通过对象调用,此时堆内存中存放了非静态变量,可以直接访问非静态变量。
2019-08-08
最赞回答 / 慕虎3472736
一开始传入的obj为Object类型,Object是所有类的父类Dog other=(Dog) obj的意思是把参数obj(对比对象)强制转化为Dog类型,实例化成Dog类型的other对象并非把Dog2转换成Object类,Dog2是引用,而是Dog类的父类就是Object类,Object是所有类的父类
2019-08-04
最赞回答 / qq_慕粉0176318
以下解释摘自<<Think in java>> 中文版第2版, “构造函数是一种很特殊的函数,因为他没有返回值。这和‘返回值为void’有极大的差别。返回void时,一般函数并不返回任何东西,但是一般的函数能够选择是否要返回些什么东西。构造函数则绝对不返回任何东西,而且你也没有任何选择。如果它有一个返回值,而且你有权利选择你自己的返回型别(return type),编译器势必得通过某种方式来知道如何处理那个返回值。” void 其实有返回值,但是函数不返回任何东西,一...
2019-07-30
最新回答 / AndrewOVO
super如果要调用父类的局部变量的值,你可以先用super去get父类你想要的局部变量值的类,例如:super.eat(),然后再去点eat里面的局部变量。super.eat().age;(应该是这样?)
2019-07-30