8、继承抽象类接口--看书ing
2019-02-24 本文已影响6人
傻孩子要变精
1.0 调用父类的特殊构造方法在第一行用super(对应参数);如果不写super();则会自动调用无参构造方法,这时父类如果没有无参构造方法则会报错。
1.1 super()与this()无法同时出现在一个构造方法里,因为都要写在第一行。
1.2 super()指的是对象,所以不能在静态环境里用。
protected 修饰的成员可以被自身,同包中的类,子类所引用。
2 重载与覆盖
重载:同一个类内可定义多个构造方法。
覆盖:在子类中定义与父类中方法完全相同的方法名、放回值类型和参数列表,用于实现重写父类中同名方法的功能。可以扩大方法权限(例:父类方法protected,子类可为protected或者public,但不能为private)。
此时不继承同名方法。
不能覆盖声明为final,static的方法
通过父类对象访问子类的成员方法时必须在方法被覆盖的前提下,
3. object类
3.0 equals()与 "==" ,
对于字符串来讲,“==”用于比较两个变量本身的值,equals()用于比较字符串中包含的内容是否相同。
对于非字符串来说,"=="与equals()均比较其所指对象在对内存中的首地址。(即是否指向同一个对象)。
4. 抽象类,
4.0 抽象类不一定含有抽象方法,但是含有抽象方法的类必须定义成抽象类 。
5. 接口
5.0 接口中的数据成员都是静态的且必须初始化,
5.1 接口中的方法均为抽象方法。