已采纳回答 / 天启之魂
第一,主函数是静态函数第二,静态函数中不能直接调用非静态成员,必须通过对象调用如果你的代码中要将className改为非静态, 那么在主函数中就要创建HelloWorld的对象,然后通过对象来调用className
2015-10-13
已采纳回答 / 李开庭
视频上说得很清楚了,有的时候业务不同,字段类型也不同,这时就用到类型转换。比如你玩游戏,游戏职业不匹配有些物品装备不上,这个和类型不相同不可以使用一样,这时就用到类型转换
2015-10-13
真是坑爹嗷嗷。。。。从c++ QT转过来学java。。。。这个内部类原来就是调用函数后,再调用函数里面的函数。。。。哎,想吐。。。。说简单点不好吗?非要说一堆名词出来。。。。吐槽完毕
2015-10-13
最新回答 / chnjune
不合理,接口是有些类需要用到这个功能,有些类不需要的时候用比较方便。例如同样是手机都能打电话发短信上网,那么小米和苹果都继承手机的抽象功能(打电话,发短信,上网)但是更高端的3Dtouch功能目前苹果有,小米没有那么单独给个3Dtouch的接口给苹果用,苹果就有了3Dtouch的功能可以使用。如果以后三星也出来个手机也有3Dtouch功能,也接入接口这样不使用抽象功能避免了某些类不需要这些功能而又必须加上。
2015-10-12
System.out.println("访问外部类中的score:" +HelloWorld.score );
System.out.println("访问内部类中的score:" + score);
}
}
// 测试静态内部类
public static void main(String[] args) {
// 直接创建内部类的对象
SInner si=new SInner();
System.out.println("访问内部类中的score:" + score);
}
}
// 测试静态内部类
public static void main(String[] args) {
// 直接创建内部类的对象
SInner si=new SInner();
2015-10-12
已采纳回答 / 天启之魂
初始化块的作用是给对象初始化,并且这个初始化时在构造函数之前,该类的每一个对象在创建时都会调用初始化块来初始化这个对象,还有个就是静态代码块,是初始化类用的,随着类的加载而加载,只会被执行一次
2015-10-12
public static void show() {
HelloWorld hello = new HelloWorld();
System.out.println("姓名:" + hello.name + ",性别:" + hello.sex + ",年龄:" + age);
}
public static void main(String[] args) {
// 创建对象
// 调用对象的show方法
show();
}
HelloWorld hello = new HelloWorld();
System.out.println("姓名:" + hello.name + ",性别:" + hello.sex + ",年龄:" + age);
}
public static void main(String[] args) {
// 创建对象
// 调用对象的show方法
show();
}
2015-10-12