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();
}
}