java里的继承_java中继承说明

继承是类与类之间的关系,是一个很简单很直观的概念,与现实世界中的继承(例如儿子继承父亲财产)类似。

继承可以理解为一个类从另一个类获取方法和属性的过程。如果类B继承类A(B extends A),那么B就拥有A的属性和方法。

继承使用extends关键字

class Person{

String name="zhoumo";

int age=27;

public void say() {

System.out.println("我的名字叫"+name+",今年"+age+"岁");

}

}

Person类有name和age属性,还有say方法

class Student extends Person{

int height=175;

int weight=130;

public void againSay(){

System.out.println("我的名字叫"+name+"。今年"+age+"岁,身高"+height+"体重"+weight);

}

}

Student 类继承了Person类,那么父类中的非private属性就可以被子类所用,所以子类中虽然没有再次定义name和age属性,但依然可以使用name和age。

public class ZhouMo {

public static void main(String[] args) {

Student st = new Student();

st.againSay();

st.say();

}

}

运行结果为:

我的名字叫zhoumo。今年27岁,身高175体重130

我的名字叫zhoumo,今年27岁

扩展一下

class Wine{

public void fun1() {

System.out.println("Wine 的Fun...");

fun2();

}

public void fun2() {

System.out.println("Wine 的Fun2..");

}

}

class JNC extends Wine{

public void fun1(String a) {

System.out.println("JNC的Fun1...");

fun2();

}

public void fun2() {

System.out.println("JNC 的Fun2...");

}

}

public class DuoTai {

public static void main(String[] args) {

Wine a = new JNC();

// a.fun1("a");

a.fun1();

}

}

打印结果为:

Wine 的Fun...

JNC 的Fun2...

如果把调用a.fun1()改成a.fun1("a");会报错,原因是这样的,子变父,子类覆写父类的方法,则保留子类的方法,子类有的方法父类没有,则去掉子类的方法,

Wine a = new JNC();

则a拥有的方法有public void fun1(); JNC 的public void fun2();

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值