本文主要是介绍Java面向对象三大特性—封装(从0到1详解,附有代码+案例),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 封装
- 8.3 封装概述
- 8.4封装步骤
- 8.4 private关键字
- 8.5 封装案例
封装
8.3 封装概述
- 封装可以让我们知道如何正确设计对象的属性和方法。
- 对象代表什么,就得封装对应的数据,并提供数据对应的行为。
- (★)隐藏内部的实现细节,对外提供一个可访问的接口
8.4封装步骤
- 设置属性为private
- 设置get和set方法
- 在get和set方法中添加逻辑
//例如//封装//需求:定义一个类描述人//属性:姓名,年龄//行为:吃饭,睡觉public class Preson {String name;int age;public void eat(){System.out.println("正在吃饭");}public void sleep(){System.out.println("睡觉ing...");}
}
8.4 private关键字
-
是一个权限修饰符
-
可以修饰成员(成员变量和成员方法)
-
被
private
修饰的成员只能在本类中才能访问
8.5 封装案例
package code1;public class GrilFriend {// 属性private String name;private int age;private String gender;// 针对每一个私有化成员变量,都要提供get和set方法// set方法:给成员变量赋值// get方法:对外提供成员变量的值// 作用:给成员变量name进行赋值,因为只是赋值接受数据所以只传形参 无返回值,没有返回值的数据类型写void即可public void setName(String n) {name = n;}// 作用:对外提供name的属性,对外提供数据 不接受数据 所以不传参数public String getName() {return name;}// setAge:给成员变量age进行赋值public void setAge(int a) {if (a >= 18 && a <= 26) {age = a;} else {System.out.println("非法参数");}}// getAge:对外提供成员变量age的值public int getAge(){return age;}// setGender:给成员变量gender进行赋值public void setGender(String g) {gender = g;}// getGender:对外提供成员变量gender的值public String getGender() {return gender;}public void eat() {System.out.println("吃饭ing....");}public void sleep() {System.out.println("睡觉...");}
}
=======================================================public class GrilFriendTest {public static void main(String[] args) {// 创建对象GrilFriend gf = new GrilFriend();// 赋值gf.setAge(18);gf.setName("大聪明");gf.setGender("女");// String name = gf1.getName();System.out.println(gf.getAge());System.out.println(gf.getName());System.out.println(gf.getGender());gf.eat();gf.sleep();}
}
这篇关于Java面向对象三大特性—封装(从0到1详解,附有代码+案例)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!