protected 修饰符的使用

protected 修饰符

protected 修饰符用来修饰成员变量,成员方法,构造方法。protected所修饰的只能通过同一个包下、不同包的子类、匿名内部类的方式访问,代码如下:
定义一个Student类

package cn.huaqi.base;
public class Student {
	protected int age = 0;
	protected Student() {
	}
	protected void setAge(int age) {
	    this.age = age;
	}
}

定义一个Teacher类

package cn.huaqi.domain;
import org.junit.Test;
import cn.huaqi.base.Student;
public class Teacher {
	@Test
	public void test1(){
		
	}
}

在这里插入图片描述由于
由于 Student构造方法protected修饰不能直接访问,如果修改Teacher 类继承Student

public class Teacher extends Student{
	@Test
	public void test1(){
		super.setAge(0);
	}
	public Teacher(){
		super();
	}
}

就可以访问 Teacher类的protected方法,和构造方法
如果我们不继承Teacher类其实也可以访问,就是通过内部类的方式。

public class Teacher {
	@Test
	public void test1(){
		Student student = new Student(){
			@Override
			protected void setAge(int age) {
				// TODO Auto-generated method stub
				super.setAge(age);
			}
		};
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值