1、繼承定義以及基本使用
定義:子類能夠繼承父類的屬性和方法;
注意點:java中只支持單繼承;私有方法不能繼承
public class Animal {
protected String name;
protected int age;
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
public int getAge(){
return age;
}
public void setAge(int age){
this.age=age;
}
public void say(){
System.out.println("我是一隻動物,名字是"+name+",我的年齡是"+age);
}
}
》》》》》》》》》》
public class Dog extends Animal{
public static void main(String args[]){
Dog dog=new Dog();
dog.setName("hashiqi");
dog.setAge(12);
dog.say();
}
}
2、方法重寫
子類重寫父類方法
public class Cat extends Animal{
public void say(){
System.out.println("我是一隻貓,我的名字是"+this.getName()+",我"+this.getAge()+"歲了");
}
public static void main(String args[]){
Cat cat=new Cat();
cat.setName("佩奇");
cat.setAge(2);
cat.say();
}
}
3、對象實例化過程以及super關鍵字
public class Animal {
protected String name;
protected int age;
public Animal(){
System.out.println("父類無參構造方法");
}
public Animal(String name,int age){
System.out.println("父類有參構造方法");
}
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
public int getAge(){
return age;
}
public void setAge(int age){
this.age=age;
}
public void say(){
System.out.println("我是一隻動物,名字是"+name+",我的年齡是"+age);
}
}
》》》》》》》》》
public class Cat extends Animal{
private String address;
public String getAddress(){
return address;
}
public void setAddress(String address){
this.address=address;
}
public Cat(){
super();
System.out.println("子類無參構造方法");
}
public Cat(String name,int age,String address){
super(name,age);
this.address=address;
System.out.println("子類有參構造方法");
}
public void say(){
super.say();
System.out.println("我是一隻貓,我的名字是"+this.getName()+",我"+this.getAge()+"歲了"+",我來自"+address);
}
public static void main(String args[]){
Cat cat=new Cat();
cat.setName("佩奇");
cat.setAge(2);
cat.setAddress("中國");
cat.say();
}
}