19、Java面向对象——面向对象的三大特征、private权限修饰符、get()/set()方法、封装

目录

课前先导

一、private权限修饰符

二、get()/set()方法【getXxx()和setXxx()]

三、this关键字的使用

四、封装                                                       


课前先导

前面我们学习了怎么通过创建对象给对象的属性赋值;但是通过对象直接给属性赋值,只要数据类型正确,可以给属性赋任何值,这种赋值方法是不严谨的,比如给年龄个负数:

创建一个类;定义姓名和年龄属性以及show()方法:

public class Draft {
	
	String name;
	int age;
	
	public void show(){
		System.out.println("姓名是:"+name+",年龄:"+age);
	}
	
}

创建测试类:

public class DraftTest {
	public static void main(String[] args){
		
		Draft zs = new Draft();      //创建第一个对象
		zs.name = "张三"; 
		zs.age = 20;
		zs.show(); 
		
		Draft ls = new Draft();      //创建第二个对象
		ls.name = "李四";
		ls.age = -30;
		ls.show();                 
	}

}

控制台输出:

姓名是:张三,年龄:20
姓名是:李四,年龄:-30


通过上面的代码我们可以看到,普通的通过对象给属性赋值,不太严谨,只要数据类型正确,就能随意给属性赋值;可年龄怎么能给负数呢!难道现在都能借贷生命了吗?所以我们要给数据的输入定个规范。

一、private权限修饰符

Java中的权限修饰符一共有四个;分别是:

public 、protected 、默认 、private;

这里我们看一下private权限修饰符:

                            英文单词    private:私有的,自用的。

private权限修饰符是Java权限修饰符中权限最小的修饰符,可以修饰成员变量和成员方法,使用 private 修饰的 成员 只能在 当前类的内部 被访问(只要成员变量或成员方法被private修饰了,那么就只能在这一个类中使用)。

作用:

保护成员不被别的类使用,被private修饰的成员只在本类中才能访问。

public class Draft {
	
	private String name;
	private int age;
	
	public void show(){
		System.out.println("姓名是:"+name+",年龄:"+age);
	}
	
}
public class DraftTest {
	public static void main(String[] args){
		
		Draft zs = new Draft();      //创建第一个对象
		zs.name = "张三"; 
		zs.age = 20;
		zs.show(); 
		
		Draft ls = new Draft();      //创建第二个对象
		ls.name = "李四";
		ls.age = -30;
		ls.show();                 
	}

}

这里我们在把属性用private修饰后;再来看一下运行结果(这里用的开发工具是myeclipse):

Exception in thread "main" java.lang.Error: Unresolved compilation problems: 
	The field Draft.name is not visible
	The field Draft.age is not visible
	The field Draft.name is not visible
	The field Draft.age is not visible

	at com.lj.java01.DraftTest.main(DraftTest.java:7)

运行结果是我们的程序报错了。上面测试类中我们通过对象给属性赋了四次值,运行结果就给了我们四个"The field Draft.age is not visible";这句英文的意思大概是:这个Draft.age不能访问。不能访问就不能随意修改属性的值,这样一来我们的代码安全性就大大提高了,只要提升了代码的安全性,就算提升了我们代码的档次,月薪上万指日可待。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值