java编程之继承性

在现实生活中,我们经常听到“继承”二字,这两字通常存在于父子之间。在Java中,继承是利用类与类之间的共同点建立起简化程序的一种方式,继承的类称为子类,被继承的类称为父类。


public class Fruit {
public String color ="";
public void plant(){
System.out.println("果树正在种植ing");
}
public void grow(){
System.out.println("果树正在生长ing");
}
public void harvest(){
System.out.println("果树已经收获......");
}
public Fruit(){
this("this调用有参构造方法");
System.out.println("无參给构造方法");
}
public Fruit(String color){
System.out.println("有参构造方法");
this.color=color;
}
public static void main(String[] args){
Fruit fruit=new Fruit();
fruit.grow();
fruit.plant();
fruit.harvest();
Apple apple=new Apple();
apple.plant();
System.out.println("color:"+apple.color);
}

}

public class Apple extends Fruit{
public String color ="red";
public void plant(){
System.out.println("苹果树正在种植ing");
}
}

在上面的两个类中,fruit是父类,apple是子类,子类继承了父类中所有的成员变量和成员方法,可以通过对象访问使用父类的非私有的变量和方法,对于私有的变量可以通过函数间接调用,而父类中的方法通常不会声明为私有的。
子类和父类之间还有一种重要的关系,那就是重写和覆盖。当子类中定义的变量与父类中定义的变量完全相同时,就会覆盖父类中的变量比如上例中的color,在父类中输出color是null,在子类中输出color是red。两者不同。方法重写就是子类与父类中的方法定义完全相同,但是方法体不同。如上例中plant方法,在子类中调用和在父类中调用,输出是不一样的。
爱思考的的人可能就会问,子类继承了父类,重写了父类的方法,那么在子类中能不能调用父类中被子类重写的方法或覆盖的变量呢?这就要说到super关键字和this关键字了。请听下回分解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值