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字段初始化的规律:
当多个类之间有继承关系时,创建子类对象会导致父类初始化块的执行: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+"个对象!");}}
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+"个对象!");}}
相关文章推荐
- Spring 通过配置向 Quartz定时任务 注入service
- Java中的ConcurrentHashMap
- MyEclipse设置JAVA选中高亮显示
- java线程池的简单使用
- spring IOC源码分析(3)
- Java相对路径总结
- json对象转java对象
- struts2+ajax实现异步验证实现
- 使用递归算法结合数据库解析成java树形结构
- Java常用的设计模式10:设计模式之 值对象
- 信号量在Java线程中的应用
- struts2+ajax实现异步验证
- Eclipse中使用kindeditor插件
- CSDN,我焦辉林来啦!我必须战胜自己学会java没有退路!
- eclipse 操作HDFS时出现Permission denied的三个解决方法
- Eclipse使用问题——web程序部署问题
- Java IO1:IO和File
- Java常用的设计模式09:单例模式的强化(控制实例个数n)
- Myeclipse8.5 里复制粘贴(ctr c ctr v)卡的解决方法
- java学习筆記二。