最全《java学习笔记》之面向对象--封装(1),java栈和堆面试

最后

由于篇幅原因,就不多做展示了

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

public class Person {

//将对象的属性进行私有化

//因为每一个人的名字和no是不同的,这些变量属于对象级别的,所以用实例变量

/*如果不将这些属性私有化会怎么样?

  • 那么任何人都可以对数据进行更改,这样数据是十分不安全的

  • */

private String name;

private int no;

//无参构造

public Person() {

}

//有参构造

public Person(String name, int no) {

this.name = name;

this.no = no;

}

//如果不提供set和get方法会怎么样?

//首先那么数据肯定是安全的,但是这样在别的地方就完全没有办法访问了,那么数据的意义就丧失了

//所以我们要提供方法使得在别的地方能够进行对数据的读(get)和写(set)

//set和get方法是有代码规范的最好按着这个规范写,提高代码的可读性和规范性

//name的set方法

public void setName(String name){

this.name = name;

}

//nam的get方法

public String getName(){

return this.name;

}

//no的set方法

public void setNo(int no){

this.no = no;

}

//no的get方法

public int getNo(){

return this.no;

}

//如果使用IDEA可以使用 alt+inset 一键生成set和get方法

}

//我们来测试一下封装的如何?

public class PersonTest {

public static void main(String[] args) {

//创建Person对象

Person person1 =new Person();

Person person2 =new Person(“小明”,666);

//读取Person对象的属性

//假设我们直接读取,就会报错

//System.out.println(person2.name); Error:(11, 35) java: name 在 caopeng.javase.packaging.Person 中是 private 访问控制

//所以我们使用set和get方法

String strName1 = person1.getName();

String strName2 = person2.getName();

int no1 = person1.getNo();

int no2 = person2.getNo();

System.out.println(strName1 +" " + no1);//null 0

最后

还有Java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板可以领取+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书+2021年最新大厂面试题。
在这里插入图片描述

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

码】](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)收录**

需要这份系统化的资料的朋友,可以点击这里获取

  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值