java類、封裝、繼承

類與對象:
類是抽象的數據類型,對象是抽象的數據類型的具體化。
使用new 關鍵字創建對象,默認初始化爲null
一個項目只存在一個main方法,用於測試。
類:(同一個類可以產生不同對象)
只有屬性和方法
構造方法:
(1)特點:1、必須和類的名字相同;2、必須沒有返回類型,也不能寫void
(2)作用:1、使用new關鍵字,本質是調用構造器;2、初始化對象的值

public Stu() {
        this.name = "**";
    }

封裝:
1、屬性私有,get\set private 私有
2、封裝提高了程序的安全性,保護數據;隱藏代碼的實現細節;統一接口;可維護性
3、在set裏面給一些條件滿足情況

 public int getAge() {
        return this.age;
    }
    public void setAge(int age) {
        if(age>0 && age<=100) {
            this.age = age;
        }
        else {
            this.age = 33;
        }
        
    }

繼承:
1、extends 擴展,子類是父類的擴展;
2、繼承是類與類之間的關係

public class PM {
    public void say() {
        System.out.println("我有一個億");
    }
   int money = 10000000;
   public void setMoney(int money) {
       this.money = money;
   }
   public int getMoney() {
       return money;
   }
}
		
子類繼承父類的所有屬性

public class SE extends PM {
    
    
    
}

Java代碼詳解:
Studnrt類:

package **;

public class Student extends Collegestudent {
    private String name;
    private int age;
    private char sex;
    private String sno;
    //對子類的屬性進行封裝
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        if(age>0 &&age <=100) {
            this.age = age;
        }
        else {
            this.age = 22;
        }
        
    }

    public char getSex() {
        return sex;
    }

    public void setSex(char sex) {
        this.sex = sex;
    }
    public String getSno() {
        return sno;
    }
    public void setSno(String sno) {
        this.sno = sno;
    } 
}

collegstudent類:

package **;

public class Collegestudent {
    private String school = "******";
    private String college = "******";
    private String grclass = "******";
    //對父類的屬性進行封裝
    public String getSchool() {
        return school;
    }

    public void setSchool(String school) {
        this.school = school;
    }

    public String getCollege() {
        return college;
    }

    public void setCollege(String college) {
        this.college = college;
    }

    public String getGrclass() {
        return grclass;
    }

    public void setGrclass(String grclass) {
        this.grclass = grclass;
    }
    
}

main類:用於輸出:

package **;
public class main {
    public static void main(String[] args) {
        Student ming = new Student();
        ming.setName("**");
        //如果年齡不符合實際的條件,就體現封裝的作用
        ming.setAge(32);
        ming.setSex('男');
        ming.setSno("201805050254");
        System.out.println("我的名字是:"+ming.getName()+",我的年齡是:"+ming.getAge()+",我的性別是:"+ming.getSex()+",我的學號是:"+ming.getSno());
        //子類student中沒有學校、學院、班級,所以在子類中擴展父類
        System.out.println("我的學校是:"+ming.getSchool()+",我的學院是:"+ming.getCollege()+",我的班級爲:"+ming.getGrclass());
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章