Java中用Private变量封装方法和变量时的问题

先看看private的访问级别,只能在本类中访问private修饰的方法和变量

例如:

public class Person {
 private String name;
 private int age;
}

这段代码中,将 nameage 属性设置为私有的,只能本类才能访问,其他类都访问不了,如此就对信息进行了隐藏。

注意:对每个属性提供对外的公共方法访问,也就是创建一对赋取值方法,用于对私有属性的访问,例如: 

public class Person {
/*
* 对属性的封装 一个人的姓名、性别和年龄都是这个人的私有属性
*/
private String name;
private String sex;
private int age; 
                                   
public void setName(String name) {             //要改变Person类的内部属性name只能在外部类中 
                                                 调用方法       
this.name = name;
}

}


public class TestPersonDemo {
	public static void main(String[] args) {
		Person p=new Person();
        p.setName("张三");
}
}
 

被private修饰的变量和方法,只能在自己对象内部使用,其他对象即使是new你这个对象也是获取不到被private修饰的变量以及方法的。

例如:(下面为错误示例)

public class TestPersonDemo {
	public static void main(String[] args) {

		// 声明并实例化一Person对象p
		Person p=new Person();
		// 给p中的属性赋值
		p.age="张三";p.age=18;            //这里就是错误的,不能通过外部类实例化一个变量来改变                    
                                            Person类的内部属性name,age
		p.talk();
	}
}


class Person {
	private String name;
	private int age;
	
	public void talk()
	{
		System.out.println("我是:"+this.name+",今年:"+this.age+"岁");
	}
}

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值