这些需要自己到代码里敲两边才好理解
老师最后的总结:
子类构造的过程中必须调用其父类的构造方法
如果子类的构造方法中没有显式调用父类的构造方法,则系统默认调用父类无参的构造方法
如果显式的调用构造方法,必须在子类的构造方法的第一行
如果子类构造方法中既没有显式调用父类的构造方法,而父类又没有无参的构造方法,则编译出错
老师最后的总结:
子类构造的过程中必须调用其父类的构造方法
如果子类的构造方法中没有显式调用父类的构造方法,则系统默认调用父类无参的构造方法
如果显式的调用构造方法,必须在子类的构造方法的第一行
如果子类构造方法中既没有显式调用父类的构造方法,而父类又没有无参的构造方法,则编译出错
2016-05-14
本节中的重写与之前提到的重载,简单地来区分记忆一下:
重写(Overriding) 子类对继承于父类的方法不满意,重新写了这个方法
重载(Overloading) 同一个类中,方法名相同,但参数个数、类型不同,典型例子是构造函数
个人理解,有错指出
重写(Overriding) 子类对继承于父类的方法不满意,重新写了这个方法
重载(Overloading) 同一个类中,方法名相同,但参数个数、类型不同,典型例子是构造函数
个人理解,有错指出
2016-05-14
第17行:MInner mi=new MInner();
第20行:int newScore=mi.getScore();
第29行:HelloWorld mo=new HelloWorld();
第20行:int newScore=mi.getScore();
第29行:HelloWorld mo=new HelloWorld();
2016-05-14
额外新建一个类再调用里面的方法属性会麻烦得多,感觉内部类就是用来偷懒的吧
第8行:public static class SInner {
第13行:System.out.println("访问外部类中的score:" + HelloWorld.score );
第21行:SInner si=new SInner();
第8行:public static class SInner {
第13行:System.out.println("访问外部类中的score:" + HelloWorld.score );
第21行:SInner si=new SInner();
2016-05-14
第15行:System.out.println("外部类中的name:" + HelloWorld.this.name );
第16行:System.out.println("内部类中的name:" + name );
第28行:Inner inn = o.new Inner();
第16行:System.out.println("内部类中的name:" + name );
第28行:Inner inn = o.new Inner();
2016-05-14
2:13处的思考我试了一下,如果不加this,程序会认为"="前的"screen"即为(float screen)里的那个"screen",虽然不报错但是不是我们想要的效果
2016-05-14
个人理解:
构造方法名称与类名相同,用于创建对象及初始化参数,构造方法会在创建对象的同时执行
普通方法则是另外取名,并且需用对象调用方法执行
构造方法名称与类名相同,用于创建对象及初始化参数,构造方法会在创建对象的同时执行
普通方法则是另外取名,并且需用对象调用方法执行
2016-05-14