java封装及四种权限修饰符详解
作者:fool_Java 时间:2023-03-20 20:18:38
1、对属性进行封装,使用户不能直接输入数据,我们需要避免用户再使用"对象.属性"的方式对属性进行赋值。则需要将属性声明为私有的(private).
2、我们将类的属性私有化(private),同时,提供公共的(public)方法来获取(getXxx)和设置(setXxx)此属性的值
封装性的体现,需要权限修饰符来配合
1.Java规定的4种权限(从小到大排列):private、缺省、protected 、public
2.这4种权限可以用来修饰类及类的内部结构:属性、方法、构造器、内部类
3.具体的,4种权限都可以用来修饰类的内部结构:属性、方法、构造器、内部类
修饰类的话,只能使用:缺省、public
例:
package KindMethod3;
public class privateTest {
//用private修饰,定义为私有变量,外不不能随意更改
private int age;//年龄
private String name;//名字
//同时,我们给这两个属性创建两个可以更改他们的接口
public void setAge(int age){
this.age=age;
}
public int getAge(){
return age;
}
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
public void disPlay(){
System.out.println("我的名字叫"+name+"今年"+age+"岁");
}
}
package KindMethod3;
public class privateTest1 {
public static void main(String[] args) {
privateTest sc = new privateTest();
// 这个时候就不能直接给类中属性直接赋值了,就会报错
// sc.age=18;
// sc.name="小芳"
// 我们需要通过set方法给属性赋值,get取值
sc.setAge(18);
sc.setName("小芳");
sc.disPlay();
}
}
一下代码查看运行结果:
public class Order {
private int text1;
int text2;
public int text3;
private void methodPrivate(){
text1 = 1;
text2 = 2;
text3 = 3;
}
void methodDefault(){
text1 = 1;
text2 = 2;
text3 = 3;
}
public void methodPublic(){
text1 = 1;
text2 = 2;
text3 = 3;
}
}
public class OrderTest {
public static void main(String[] args) {
Order order = new Order();
order.text2 = 1;
order.text3 = 2;
//出了Order类之后,私有的结构就不可以调用了
//order.text1 = 3;//The field Order.text1 is not visible
order.methodDefault();
order.methodPublic();
//出了Order类之后,私有的结构就不可以调用了
//order.methodPrivate();//The method methodPrivate() from the type Order is not visible
}
}
来源:https://blog.csdn.net/fool_Java/article/details/126107957
标签:java,封装,权限,修饰符
0
投稿
猜你喜欢
详解Android Studio无法检测新版本问题解决
2021-08-01 08:45:05
详解使用SSM实现简单工作流系统之实现篇
2021-10-21 07:49:23
一篇文章带你入门java变量与类型
2022-10-13 06:14:58
C#将PPT文件转换成PDF文件
2022-09-08 20:33:21
c# split分隔字符串使用方法
2023-04-12 18:00:54
SpringBoot集成Spring security JWT实现接口权限认证
2023-02-02 07:31:08
Android编程实现的短信编辑器功能示例
2022-09-08 12:58:44
Spring计划任务用法实例详解
2021-08-03 11:41:08
Java后台线程操作示例【守护线程】
2023-11-25 01:35:44
C#中线程同步对象的方法分析
2021-06-06 05:43:46
Unity屏幕雪花另类实现方式示例
2022-06-18 23:32:43
C#实现文件断点续传下载的方法
2021-09-05 10:37:42
C#学习基础概念二十五问 11-15
2022-04-18 04:19:00
java中如何获取相关参数
2023-11-17 20:12:39
Java(基于Struts2) 分页实现代码
2023-11-04 05:58:58
java Timer测试定时调用及固定时间执行代码示例
2023-12-09 14:36:44
Android中的Launch Mode详情
2022-10-06 02:38:09
Android webview旋转屏幕导致页面重新加载问题解决办法
2021-10-18 17:07:35
Java 根据某个 key 加锁的实现方式
2023-10-27 07:54:20
Android中创建对话框(确定取消对话框、单选对话框、多选对话框)实例代码
2023-07-04 01:48:25