在千峯逆戰班學習的第17天;
JAVA_DAY14;
今天學習的課程:面向對象的三大特性的封裝性,繼承性;
中國加油!世界加油!
我自己加油!
JVM主函數:
package com.qf.demo03_inherit;
/*
* 父類:Animal
* 屬性:name,age
* 方法:eat(),sleep()
*
* 子類:Cat
* 新增屬性:color
* 新增方法:catchMouse()
*
* 子類:Dog
* 新增方法:lookHome()
*/
public class Test5 {
public static void main(String[] args) {
//1.創建父類的對象:可以訪問父類的屬性和方法。
Animal a1 = new Animal("",1);
System.out.println(a1.getName());
System.out.println(a1.getAge());
a1.eat();
a1.sleep();
//2.創建子類對象:
Cat c1 = new Cat();
c1.setName("小花");//訪問父類的屬性
c1.setAge(2);
c1.setColor("黑白");//訪問子類的屬性
System.out.println(c1.getName());
System.out.println(c1.getAge());
System.out.println(c1.getColor());
c1.eat();//訪問父類的方法
c1.sleep();//訪問父類的方法
c1.catchMouse();//子類新增的方法
Dog d1 = new Dog();
System.out.println("-------------");
Cat c2 = new Cat("嘟嘟", 3, "橘色");
System.out.println(c2.getName());
System.out.println(c2.getAge());
System.out.println(c2.getColor());
}
}
父類
package com.qf.demo03_inherit;
/*
* 父類:Animal
* name,age
* eat(),sleep()
*/
public class Animal {
private String name;
private int age;
//有參構造方法
public Animal(String name,int age){
this.name = name;
this.age = age;
System.out.println("父類Animal的有參構造方法。。");
}
public Animal(){
System.out.println("父類Animal的無參構造方法。。。");
}
public void eat(){
System.out.println("吃東西啦。。。");
}
public void sleep(){
System.out.println("睡着啦。。");
}
public void setName(String name){
this.name = name;
}
public String getName(){
return this.name;
}
public void setAge(int age){
this.age = age;
}
public int getAge(){
return this.age;
}
}
cat子類
package com.qf.demo03_inherit;
public class Cat extends Animal{//name,age,color
private String color;
public Cat(){
//子類的構造方法的第一行,默認會調用父類的構造方法:默認無參
super();//表示父類的構造方法。此行代碼,可以省略不寫,編譯器會自動添加的。
System.out.println("Cat類的無參構造方法。。。");
}
public Cat(String name,int age,String color){
//super();//編譯器默認添加的都是無參的構造方法。。
super(name, age);//父類的有參構造
this.color = color;
System.out.println("Cat類的有參構造方法。。");
}
public void catchMouse(){
System.out.println("小貓抓老鼠。。");
}
public void setColor(String color){
this.color = color;
}
public String getColor(){
return this.color;
}
}
dog子類
package com.qf.demo03_inherit;
public class Dog extends Animal {
public Dog(){
//super();//父類的無參的構造方法
}
public void lookHome(){
System.out.println("小狗看家。。");
}
}