您的位置:首页 > 编程语言 > Java开发

java练习

2015-10-17 21:15 387 查看
请输入并运行以下代码,得到什么结果?public class Test {public static void main(String[] args){Foo obj1=new Foo();Foo obj2=new Foo();System.out.println(obj1==obj2);//?}}class Foo{int value=100;}得到false;以下代码为何无法通过编译?哪儿出错了?
public class Test {public static void main(String[] args){Foo obj1=new Foo();}}class Foo{int value;public Foo(int initValue ){value=initValue;}}Foo obj1=new Foo();应该为 Foo obj1=new Foo(数);使用上页幻灯片中定义的类,以下代码输出结果是什么?请依据代码的输出结果,自行总结Java字段初始化的规律。(发表到博客)public class Test {public static void main(String[] args){InitializeBlockClass obj=new InitializeBlockClass();System.out.println(obj.field);//?obj=new InitializeBlockClass(300);System.out.println(obj.field);//?}}class InitializeBlockClass{{field=200;}public int field=100;public InitializeBlockClass(int value){this.field=value;}public InitializeBlockClass() {}}Java字段初始化的规律:
所有类的变量都默认初始化为null,比如String a; Integer b; 数字类的原始数据类型默认初始化为0,比如int a; short b; char c; boolean默认初始化为false
;

当多个类之间有继承关系时,创建子类对象会导致父类初始化块的执行:public class InitializeBlockDemo {public static void main(String[] args) {InitializeBlockClass obj=new InitializeBlockClass();System.out.println(obj.field);obj=new InitializeBlockClass(300);System.out.println(obj.field);}}class InitializeBlockClass{//下面这句在初始化块之前与之后,会影响到field字段的初始值 //public int field=100;{field=200;}public int field=100;public InitializeBlockClass(int value){this.field=value;}public InitializeBlockClass(){}}静态方法中只允许访问静态数据,那么,如何在静态方法中访问类的实例成员(即没有附加static关键字的字段或方法):public class Ex{int i =123; static int Temp;public static void A(){System.out.println(Temp);}public int B(){int x = 100;return x;}public static void main(String args[]) {Ex e = new Ex();Temp = e.B();e.A();}}使用类的静态字段和构造函数,我们可以跟踪某个类所创建对象的个数。请写一个类,在任何时候都可以向它查询“你已经创建了多少个对象?”:public class Student{public static void main(String[] args){Information a = new Information();a.OutputInformation();Information b = new Information();b.OutputInformation();}}//定义类class Information{static int num=0;Information(){num++;}public void OutputInformation(){System.out.println("你已经创建了"+num+"个对象!");}}

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: