2.6 封裝
1 封裝概述
2 實現封裝
封裝例子:
這裏封裝的好處:外界不能隨意修改、我們可以在set方法裏面加入自己的判斷,不符合業務的直接處理掉,更加安全
public class Student {
private String name;
private String sex;
//這個時候如果定義一個test類是訪問不了上面的變量,通過定義get、ste方法實現訪問和傳值
public String getNanme(){
return name;
}
public void setName(String name){
this.name=name;
}
public String getSex(){
return sex;
}
public void setSex(String sex){
this.sex=sex;
}
}
public class Test_Jave {
public static void main(String[] args) {
Student s =new Student();
s.setName("張三");
s.setSex("不男不女");
System.out.print("姓名是:"+s.getNanme()+"性別是:"+s.getSex());
}
}
通過工具自動生成get、set方法
2.6繼承
父類、子類
Extends只能繼承一個類,JAVA不支持多重繼承,只有一個父類
子類繼承父類之後,子類可以調用父類的屬性和方法,也可以重寫父類的屬性和方法
,還可以增加自己的屬性和方法。
public class Animal {
// 演示類的繼承
private String type;// 類型
private String skin;// 膚色
private int legCount;// 幾條腿
// 定義一個方法
public void eat() {
System.out.print("父類的老虎在吃東西");
}
public void huxi() {
System.out.print("父類在呼吸");
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getSkin() {
return skin;
}
public void setSkin(String skin) {
this.skin = skin;
}
public int getLegCount() {
return legCount;
}
public void setLegCount(int legCount) {
this.legCount = legCount;
}
}
public class Tiger extends Animal {
// 繼承Animal類的相關屬性
// 定義子類老虎類
public void eat() {
//我們在父類中也定義eat方法,當子類重寫eat方法的時候,在new對象的時候會調用子類重寫後的方法
System.out.print("子類老虎在吃東西");
}
public void dajia(){
//定義老虎的特有的方法
System.out.print("子類老虎特有的類");
}
public static void main(String[] args) {
Tiger t=new Tiger();
t.setLegCount(4);
t.setSkin("橘***");
t.setType("東北虎");
//子類重寫的方法
t.eat();
//下面是從父類繼承過來的方法
t.dajia();
System.out.print("*********開始***************");
t.huxi();
System.out.print("*********結束***************");
System.out.print("老虎幾條腿:"+t.getLegCount()+":老虎顏色是:"+t.getSkin()+":老虎類型:"+t.getType());
}
}
執行結果:
子類老虎在吃東西子類老虎特有的類*********開始***************父類在呼吸*********結束***************老虎幾條腿:4:老虎顏色是:橘***:老虎類型:東北虎