Java面向对象进阶

面向对象进阶

一、封装private

在开发中,为了避免出现逻辑错误,我们建议对所有属性进行封装,并为其提供settergetter方法进行设置和取得操作。

意义

保护或者防止代码(数据)被我们无意中破坏。 保护成员属性,不让类以外的程序直接访问和修改。

原则

隐藏对象的属性和实现细节,仅对外公开访问方法,并且控制访问级别。

例如:

不封装:

	Person1 p = new Person1();
	p.name = "张三";
	//逻辑错误  年龄外界不能随便定义为负数
	p.age = -10000;
	p.say();

封装后:

public class Demo2 {
   

	public static void main(String[] args) {
   
		Person2 p = new Person2();
		p.name = "张三";
		p.setAge(-10000);
		p.say();
		System.out.println(p.getAge());		
	}
}

class Person2 {
   
	String name;
	private int age;
	//set方法设置合理输入区间
	void setAge(int age2) {
   
		if(age2 < 0 || age2 > 150) {
   
			System.out.println("年龄不合理,自动设置为1");
			age = 1;
		} else {
   
			age = age2;
		}
	}
	//如果需要将属性中的值取出来进行运算,就可以调用getAge()方法
	int getAge() {
   
		return age;
	}
	
	void say() {
   
		System.out.println("自我介绍:" + name + ",年龄" + age);
	}
	
}

二、this关键字

在Java基础中,this关键字是一个最重要的概念。使用this关键字可以完成以下的操作:

  • 表示当前对象(当前正在调用这个方法的对象)
  • 调用类中的属性
  • 调用类中的方法或构造方法

例如:

public class Demo3 {
   

	public static void main(String[] args) {
   
		Person3 p1 =
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值