JIANGzihao0222

导航

 

2022年10月13日

摘要: 总结(1):子类父类拥有同名的方法时…… 当子类与父类拥有一样的方法,并且让一个父类变量引用一个子类对象时,到底调用哪个方法,由对象自己的“真实”类型所决定,这就是说:对象是子类型的,它就调用子类型的方法,是父类型的,它就调用父类型的方法。 这个特性实际上就是面向对象“多态”特性的具体表现。 总结( 阅读全文
posted @ 2022-10-13 23:19 实名吓我一跳 阅读(30) 评论(0) 推荐(0)
 
摘要: 方法覆盖(override)”的要点 方法覆盖要求子类与父类的方法一模一样,否则就是方法重载(overload)! 在子类中,若要调用父类中被覆盖的方法,可以使用super关键字。 以下子类中调用父类的代码: public class Grandparent { public Grandparent 阅读全文
posted @ 2022-10-13 21:59 实名吓我一跳 阅读(27) 评论(0) 推荐(0)
 
摘要: 为什么子类的构造方法在运行之前,必须调用父类的构造方法?能不能反过来?为什么不能反过来? 构造函数(constructor)是一种特殊的方法 。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中 。特别的一个类可以有多个构造函数 ,可根据其参数个数 阅读全文
posted @ 2022-10-13 21:58 实名吓我一跳 阅读(20) 评论(0) 推荐(0)
 
摘要: 观察输出,注意总结父类与子类之间构造方法的调用关系修改Parent构造方法的代码: 将super调用父类的顺序放在后面,会报错,原因: 子类构造器是用super隐式或显示来调用父类构造器的。隐式是指在子类构造器中没有使用super和this时,系统自动在子类构造器中第一行语句之前隐式默认加上supe 阅读全文
posted @ 2022-10-13 21:58 实名吓我一跳 阅读(14) 评论(0) 推荐(0)
 

2022年10月8日

摘要: 静态方法中只允许访问静态数据,那么,如何在静态方法中访问类的实例成员? public class jingtai { public int x=200; public static int y=300; public static void method() { System.out.println 阅读全文
posted @ 2022-10-08 10:45 实名吓我一跳 阅读(33) 评论(0) 推荐(0)
 
摘要: 静态初始化块顺序: 先进行父类的静态初始化块,静态初始化块都初始化完后,再从最高级的父类进行初始化块和构造函数进行初始化,依次进行。 阅读全文
posted @ 2022-10-08 10:39 实名吓我一跳 阅读(18) 评论(0) 推荐(0)
 
摘要: 如果一个类中既有初始化块,又有构造方法,同时还设置了字段的初始值,谁说了算? 总结出来类的初始化顺序 :静态变量->静态初始化块->变量->初始化块->构造器 执行类成员定义时指定的默认值或类的初始化块,到底执行哪一个要看哪一个“排在前面”; 阅读全文
posted @ 2022-10-08 10:39 实名吓我一跳 阅读(21) 评论(0) 推荐(0)
 
摘要: 下列代码哪里错了: 原因:因为类中自定义了一个构造方法,系统不在默认构造方法,图中构造方法有一个参数,但使用方法时无参数,所以报错。 阅读全文
posted @ 2022-10-08 10:38 实名吓我一跳 阅读(29) 评论(0) 推荐(0)
 

2022年9月22日

摘要: 静态成员变量又称类变量,静态成员方法又称类方法,它们统称为静态成员或类成员。静态成员由static修饰,是属于整个类的,所有的对象共享这些静态成员。不需要创建任何对象,静态成员在类装载时就已初始化了,整个运行期间其内存位置不变,直到类卸载。鉴于静态成员的这些特性,访问静态成员变量以及定义或调用静态成 阅读全文
posted @ 2022-09-22 11:13 实名吓我一跳 阅读(52) 评论(0) 推荐(0)
 

2022年9月20日

摘要: package Test2; public class Test2 { public static int square(int x) { return x*x; } public static double square(double y) { return y*y; } public stati 阅读全文
posted @ 2022-09-20 11:24 实名吓我一跳 阅读(25) 评论(0) 推荐(0)