1、属性私有 get/set
2、高内聚,低耦合
3、隐藏数据,提供方法去访问
1、子类继承了父类,就拥有了父类所有的方法(public),私有的方法无法被继承
2、crtl+H继承的快捷键
3、在java中,所有的类都默认继承Object类
4、java中只有单继承,没有多继承,就像一个儿子只有一个爸爸,但是一个爸爸可以有多个儿子
5、super和this的区别
super父类,this当前方法或者当前类
父类
package com.oop.demo02;
public class DongwuTest {
protected String name="动物";
private String tou;
private String tui;
public void run(){
System.out.println("动物跑了");
}
public String getTou() {
return tou;
}
public void setTou(String tou) {
this.tou = tou;
}
public String getTui() {
return tui;
}
public void setTui(String tui) {
this.tui = tui;
}
}
子类
package com.oop.demo02;
public class MaoTest extends DongwuTest {
protected String name="小花猫";
public void test(String name){
System.out.println("super--:"+super.name);
System.out.println("this---"+this.name);
System.out.println("传入名称----"+name);
}
}
测试类
package com.oop.demo02;
public class Application {
public static void main(String[] args) {
MaoTest maoTest=new MaoTest();
maoTest.test("传入名称");
}
}
输出
super--:动物 this---小花猫 传入名称----传入名称
6、调用父类的构造器,必须要在子类构造器的第一行
父类
package com.oop.demo02;
public class DongwuTest {
public DongwuTest() {
System.out.println("调用父类构造器");
}
}
子类
package com.oop.demo02;
public class MaoTest extends DongwuTest {
public MaoTest() {
//调用父类构造器,必须放在子类构造器的第一行
super();
System.out.println("调用子类构造器");
}
}
测试类
package com.oop.demo02;
public class Application {
public static void main(String[] args) {
MaoTest maoTest=new MaoTest();
}
}
7、父类如果写了有参构造器,就必须显示的定义无参构造器,不然子类也就无法使用无参构造器
总结
- super
1、super调用父类的构造器方法时,必须放在子类构造器的第一行
2、super必须只能出现在子类的方法或者构造方法中
3、super和this不能同时调用构造方法 - this
1、代表对象差异(this代表本身调用者这个对象,super代表父类对象的引用)
2、前提(this没有继承也能用,super只能在继承条件下才可以使用)
3、构造方法(this();本类的构造,super()父类的构造)



