java 课堂笔记6

一、封装encapsulation,继承inheritance java中的继承都是单继承,每一个子类只能有一个直接父类,但是可以有多个间接父类 继承的优点:1.代码的复用 继承的原则: private 的父类属性可以被继承但是不能被子类使用 public的方法,属性是可以被继承过来的 任何子类的构造方法都会调用父类的构造方法 任何构造方法的第一行都必须是this(xxx)或super(xxx)如果程序员自己不写系统 会自动加上super(xxx)  默认情况下子类会掉用父类的无参构造 super:代表父类 this:代表子类 this. / super.  调用本类/父类的属性或方法,用法没有限制,可出现在构造中 this() / super() 调用本类/父类构造 this() / super()不能出现在方法里,这种方法只能出现在构造的第一行,所以在同一个构造里,this()或super()只能有一个 执行顺序: 1.先父后子2.先找this()再找super() 如都有没有就会去找super()3.先语句块,后构造 public class Person {   private  String name;   private int age;   public Person() { super(); System.out.println("person()");   }   public Person(String name, int age) {  super();  this.name = name;  this.age = age;  System.out.println("person(1,2)");   } } public class Teacher extends Person {  public Teacher() {   super("1",2);   System.out.println("teacher()");  }  public Teacher(int id) {   super();   this.id = id;   System.out.println("teacher(1)");  } } public class TestExtend {   public static void main(String [] args){    Person p=new Teacher(1);    System.out.println("end");    } }打印: person() teacher(1) end 主函数换成如下: public class TestExtend {   public static void main(String [] args){    Person p=new Teacher();    System.out.println("end");   } }打印: person(1,2) teacher() end 1.有this()就无super();2.有super()//显式3.无super()无this()//隐式调用super() 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值