Java中的继承

Java中的继承

1.子类会继承父类的非private修饰的成员变量和方法
先看代码1:
package liu.shen.test;
public class Client {
	public static void main(String [] args){
		People stu = new Student();
		stu.age = 20;
		System.out.println(stu.age);
	}
}
package liu.shen.test;
public abstract class People {
}
package liu.shen.test;
public class Student extends People{
	int  age,height;
}
为什么会是错误的代码呢?

原因如下:

(1)我们在Client类中使用的是People stu = new Student();这个语句来新建一个People类的对象!即使后面的语句是new Student(),并且Student类中有int age,heigth这个属性。但是People类中并没有age,height这两个属性,所以显示错误。

(2)修改如下:

People stu = new Student();改成Student stu = new Student();或者是把Student类中的成员变量移动到类People中,即可。

再看代码2:
abstract class Animal{
    public String species="Animal";//种类
    public  void run(){
        System.out.println("I'm running");
    }
}
package grammer;

public class Dog extends Animal {

    public static void main(String[] args) {
        Dog dog = new Dog();
        System.out.println("The value in superClass is: "+dog.species);
        dog.species = "dog";//the fields in superClass could be access
        System.out.println("The value in subClass is: "+dog.species);

        dog.run();
    }
}

运行结果如下:

The value in superClass is: Animal
The value in subClass is: dog
I'm running

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

说文科技

看书人不妨赏个酒钱?

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值