这篇文章主要介绍了java封装及四种权限修饰符详解,对属性进行封装,使用户不能直接输入数据,我们需要避免用户再使用对象.属性的方式对属性进行赋值
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
}
}
到此这篇关于java封装及四种权限修饰符详解的文章就介绍到这了,更多相关java封装 内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
织梦狗教程
本文标题为:java封装及四种权限修饰符详解


基础教程推荐
猜你喜欢
- SpringBoot配置文件中密码属性加密的实现 2023-03-11
- 全局记录Feign的请求和响应日志方式 2023-01-09
- 用java实现扫雷游戏 2022-12-06
- Java File类的概述及常用方法使用详解 2023-05-18
- JVM分析之类加载机制详解 2023-04-06
- Project Reactor源码解析publishOn使用示例 2023-04-12
- 一文了解Java 线程池的正确使用姿势 2023-06-17
- 工厂方法在Spring框架中的运用 2023-06-23
- Java使用EasyExcel进行单元格合并的问题详解 2023-01-18
- Java去掉小数点后面无效0的方案与建议 2023-02-18