小问题 关于在类里面和类外面访问私有数据的相关问题

class  demo
{
	private int a = 0;
	protected int b = 0;
	int c  = 0;
	public int d = 0 ;
	static void function()
	{
		demo q = new demo();
		q.a = 2;
		System.out.println(q.a);
		q.b = 1;
		q.c = 1; 
		q.d = 1;
	}

}
class lianxi5
{
	public static void main(String [] args)
	{
		demo k = new demo();  
		k.a = 1;                  //在类外建立对象后去访问该对象所在类的私有数据时 是会导致编译失败的的
		System.out.println(k.a);
		k.b = 1;
		k.c = 1; 
		k.d = 1;
		k.function();

	}
}
output
:
C:\Users\Administrator\Desktop\javatest>javac lianxi5.java
lianxi5.java:23: 错误: a可以在demo中访问private
                k.a = 1;
                 ^
lianxi5.java:24: 错误: a可以在demo中访问private
                System.out.println(k.a);
                                    ^
2 个错误

class  demo
{
	private int a = 0;
	protected int b = 0;
	int c  = 0;
	public int d = 0 ;
	static void function()
	{
		demo q = new demo();  //建立在本类中建立对象后也可以访问该对象的私有数据。
		q.a = 2;
		System.out.println(q.a);
		q.b = 1;
		q.c = 1; 
		q.d = 1;
		// a = 1; //编译失败 静态引用非静态。
	}
	public static void main(String[] args) 
	{
		demo k = new demo();
		k.a = 1;
		System.out.println(k.a);
		k.b = 1;
		k.c = 1; 
		k.d = 1;
		k.function();
		// a = 1; //同样编译失败 主函数是静态的 引用非静态。
}}
C:\Users\Administrator\Desktop\javatest>java lianxi5
1
2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值