活动地址:CSDN21天学习挑战赛
博客主页:
@不会压弯的小飞侠
✨欢迎关注:
点赞
收藏
⭐留言
✒
✨系列专栏:
21天挑战回顾java
✨知足上进,不负野心。
欢迎大佬指正,一起学习!一起加油!
第二周学习内容:面向对象基础
学习内容:
面向对象之封装
在面向对象程式设计方法中,封装是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。封装最主要的功能在于能修改自己的实现代码,而不用修改那些调用代码的程序片段。适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。
优点:
1.访问控制符
Java的访问控制符:private、protected、public,还有一个不加任何访问控制符的访问控制级别。
四个控制级别由小到大:private、default、protected、public
2.封装:将对象的状态信息对外部隐藏起来,不允许外部直接访问,而是由该类提供方法来实现对信息的访问。
良好的封装应该是,对象的Field和实现细节隐藏起来,外界无法直接访问,提供方法来对Field进行访问和操作。
如果一个Java类的每个Field都被使用private修饰,并为每个Field都提供了public修饰的setter和getter方法,那么这个类就是一个符合JavaBean规范的类。JavaBean是一个封装良好的类。
3.实现Java封装的步骤
public class Person {
private String name;
private int age;
}
public class Person{
private String name;
private int age;
public int getAge(){
return age;
}
public String getName(){
return name;
}
public void setAge(int age){
this.age = age;
}
public void setName(String name){
this.name = name;
}
}
4.案例分析:
public class Student {
//属性私有
private String name;
private int id;
private char sex;
private int age;
//提供一些 “public 的get set方法”
//get 获得这个数据
public String getName(){
return this.name;
}
//set 给这个数据设置值
public void setName(String name){
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public char getSex() {
return sex;
}
public void setSex(char sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
if (age>120||age<0){//不合法
this.age = 3;
}else {
this.age = age;
}
}
}
注意:get和set方法的快捷键:Alt+Insert
public class Application {
public static void main(String[] args) {
Student s1 = new Student();
s1.setName("小飞侠");
System.out.println(s1.getName());
s1.setAge(1000);
System.out.println(s1.getAge());
}
}