java中访问修饰符

访问修饰符的权限

java中四种访问修饰符的权限,1表示可访问,0表示不可访问1
public,可在同一项目中调用
protected,可以在同包中或不同包的子类中调用
缺省,可以在同包中调用(子类或非子类)
private,仅可在本类中调用

package csl0312;
public class Superclass {
	public int pub;
	protected int pro;
	int non;
	private int pri;
	public void test() {
		System.out.print("123");
		System.out.print(pub);
		System.out.print(pro);
		System.out.print(non);
		System.out.print(pri);
	}
}
本类中四种修饰符都提供访问权限
package csl0312;
public class AClass extends Superclass {
	public  int a;
	protected int b;
	int c;
	private int d;
	public void printinfo(){
		System.out.print(pub);//子类可以调用public、protected、缺省
		System.out.print(pro);
		System.out.print(non);
		//System.out.print(pri);//非本类不可调用private
	}
	public void test() {
		System.out.print("456");
	}
public static void main(String[] args) {
	Superclass ac=new AClass();
	ac.test();	
	//ac.printinfo();//方法重写,不能调用子类独有的方法
	//ac.printinfo();//本类中皆可调用
	}
}
同包子类中可以调用父类中除private以外的
package csl0312_1;
import csl0312.Superclass;
import csl0312.AClass;
public class BClass extends Superclass {
	public void printinfo(){
		System.out.print(pub);
		System.out.print(pro);
		//System.out.print(non);//不同包不可调用缺省和private的属性
		//System.out.print(pri);
	}
}
不同包的子类不可调用缺省和private
package csl0312_1;

public class eclass {
	public void printinfo(BClass bc){
		System.out.print(bc.pub);
		//System.out.print(bc.pro);
		//System.out.print(bc.non);
		//System.out.print(bc.pri);
	}
}

不同包且非子类,仅可调用public修饰的属性和方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值