java子类的继承性

public 公共的
private 私有的
protected 保护的
友好变量和友好方法:除public、private、protected 修饰的变量和方法

子类与父类在同一个包下
则能继承除private的成员变量和成员方法。
子类和父类不在同一个包下
则能继承public、protected的方法和变量,不能继承友好方法和变量。

对于多重继承的子类
例如:Father、Son、GrandSon

package Test1;

public class Father {
	private int money;
	protected int height;
	int weight;
}

package Test2;
import Test1.Father;
public class Son extends Father {
	public String hand;
	public String getHand() {
		return hand;
	}
	
}
package Test3;
import Test2.Son;
public class GrandSon extends Son {
	public String foot;

}

主类

package Test1;
import Test2.Son;
import Test3.GrandSon;
public class Examp_1 {
	public static void main(String[] args) {
		Son son=new Son();
		GrandSon grandson=new GrandSon();
		son.height=180;
		son.hand="一双大手";
		grandson.height=155;
		grandson.hand="一双小手";
		grandson.foot="一双小脚";
		String str = son.getHand();
		System.out.printf("儿子:%s,%d\n",str,son.height);
		str=grandson.getHand();
		System.out.printf("孙子:%s,%s,%d\n",str,grandson.foot,grandson.height);
	}

}

在这里插入图片描述

Son
可继承Fanther中的height
自己写了hand、gethand()

GrandSon
可继承Son的hand、gethand()和Father中的height
自己写了foot

访问权限
对象在能不能使用继承、自建的方法和变量
对保护型protected
直接继承height的Son创建的对象的主类在Son类里,可调用height
在这里插入图片描述
直接继承height的Son创建的对象的主类和Son在同一个包里,不可调用height
在这里插入图片描述

创建对象的主类和拥有proteceted的父类Father在一个包下,可调用height
在这里插入图片描述
创建对象的主类和拥有proteceted的父类Father在不在一个包下,不可调用height
在这里插入图片描述

对友好型的变量和方法要在同一个包下才能继承
自建型
在这里插入图片描述
创建对象的主类和Son在一个包下,可调用a
在这里插入图片描述
创建对象的主类和Son在不在一个包下,不可调用a
在这里插入图片描述
继承
在这里插入图片描述
子类与父类在同一个包下,才能继承友好型变量(方法) weight。
创建对象的主类和Son2在同一个类中,可调用weight
在这里插入图片描述
创建对象的主类和Son2在同一个包中,可调用weight
在这里插入图片描述
创建对象的主类和Son2在不在同一个包中,不可可调用weight
在这里插入图片描述

public声明的变量和方法无限制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

云野000

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值