转人工
点赞 评论

相关推荐

10-17 15:06
已编辑
西北工业大学 Java
1.权限修饰符:种类 private 默认(default) protected publicPrivate:只能本类访问Default:同一个包中的类可以访问Protected:不同包的子类可以访问Public:不同包中的类也可以访问2. 代码块 构造代码块 静态代码块代码块:用于在内存紧张的时候 回收掉无用的局部变量 节约内存构造代码块:用于抽取一个类中不同的构造函数的相同行为 更为简练静态代码块:在类被读取入内存时 就执行代码块中的内容 常用于一些数据的提前初始化3.代码块练习题题目1: 请编写一个Java类,包含如下三种代码块,并在main方法中创建该类的多个对象,观察输出结果。•静态代码块:打印“静态代码块执行”•构造代码块:打印“构造代码块执行”•构造方法:打印“构造方法执行”要求:•分析控制台输出的顺序,并解释原因。package BlockPrac;public class Test {public static void main(String[] args) {myBlock block = new myBlock();}}class myBlock{static{System.out.println("静态代码块执行");}private int x;private int y;{System.out.println("构造代码块执行");}myBlock(){System.out.println("构造方法执行");}}输出结果:静态代码块执行构造代码块执行构造方法执行原因:在类被读入内存的时候 静态代码块就被执行了在对象被创建后 构造代码块先于构造方法被执行最后构造方法被执行2. 静态代码块应用题目2: 请设计一个类StaticTest,要求如下:•类有一个静态成员变量count,用于统计创建了多少个StaticTest对象。•在静态代码块中打印“StaticTest类被加载”。•在构造方法中让count自增,并打印“第X个对象被创建”,其中X是当前对象编号。•在main方法中,连续创建三个StaticTest对象。要求:•观察输出结果。•解释静态代码块和构造方法的执行时机。public class Test2 {public static void main(String[] args) {staticTest s1 = new staticTest();staticTest s2 = new staticTest();staticTest s3 = new staticTest();}}class staticTest{static int count=0;static{System.out.println("staticTest类被加载");}staticTest(){count++;System.out.printf("第%d个对象被创建!",count);}}输出结果:staticTest类被加载第1个对象被创建!第2个对象被创建!第3个对象被创建!静态代码块在被类加载进内存时就被执行而构造方法在对象被创建时才被执行3. 构造代码块与继承题目3: 请编写一个父类Parent和子类Child:•在Parent和Child中都写一个构造代码块、一个静态代码块和一个构造方法,分别打印不同的信息(比如“Parent静态代码块”,“Parent构造代码块”,“Parent构造方法”;“Child静态代码块”,以此类推)。•在main方法中,创建Child对象。要求:•画出输出顺序。•解释为什么会按照这样的顺序执行。、代码:public class Test3 {public static void main(String[] args) {Child child = new Child();}}class Parent{static{System.out.println("Parent 静态代码块");}private String name;{System.out.println("Parent构造代码块");}Parent(){System.out.println("Parent构造方法");}}class Child extends Parent{static{System.out.println("Child 静态代码块");}private String name;{System.out.println("Child构造代码块");}Child(){System.out.println("Child构造方法");}}输出结果:Parent 静态代码块Child 静态代码块Parent构造代码块Parent构造方法Child构造代码块Child构造方法解释:在Child对象创建前 其父类Parent先被加载 子类Child后被加载所以父类的静态代码块先被执行 其次是子类的被执行在Child对象被用无参构造创建之前 会先去调用父类的无参构造方法所以父类的构造代码块和构造方法都会被执行其次再执行自己的构造代码块和构造方法
点赞 评论 收藏
分享
跨考计算机类,第一次写代码也能过一题,有没有机会啊
槛外呆燕:我感觉机会不大,大厂笔试做多了,感觉电信的真的太简单了,而且很多佬们会来卷三大运营商的岗位
投递中国电信等公司10个岗位
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务