java封装及四种权限修饰符详解

 更新时间:2022年08月02日 16:16:13   作者:fool_Java  
这篇文章主要介绍了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书店系统毕业设计 用户模块(2)

    java书店系统毕业设计 用户模块(2)

    这篇文章主要介绍了java书店系统毕业设计,第二步系统总体设计,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • JAVA中4种解析XML文件的方法

    JAVA中4种解析XML文件的方法

    这篇文章主要介绍了JAVA中4种解析XML文件的方法,文中示例代码非常详细,帮助大家更好的了解和学习,感兴趣的朋友可以了解下
    2020-06-06
  • Java实现EasyCaptcha图形验证码的具体使用

    Java实现EasyCaptcha图形验证码的具体使用

    Java图形验证码,支持gif、中文、算术等类型,可用于Java Web、JavaSE等项目,下面就跟随小编一起来了解一下
    2021-08-08
  • java中transient关键字分析

    java中transient关键字分析

    这篇文章主要介绍了java中transient关键字分析,transient与类对象的序列化息息相关,序列化保存的是 类对象 状态,被transient关键字修饰的成员变量,在类的实例化对象的序列化处理过程中会被忽略,变量不会贯穿对象的序列化和反序列化,需要的朋友可以参考下
    2023-09-09
  • Jenkins如何使用DockerFile自动部署Java项目

    Jenkins如何使用DockerFile自动部署Java项目

    这篇文章主要介绍了Jenkins如何使用DockerFile自动部署Java项目,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • SpringBoot快速整合Mybatis、MybatisPlus(代码生成器)实现数据库访问功能

    SpringBoot快速整合Mybatis、MybatisPlus(代码生成器)实现数据库访问功能

    这篇文章主要介绍了SpringBoot快速整合Mybatis、MybatisPlus(代码生成器)实现数据库访问功能,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • java序列化对象根据不同配置动态改变属性名的方法

    java序列化对象根据不同配置动态改变属性名的方法

    本文主要介绍了java序列化对象根据不同配置动态改变属性名的方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • SpringBoot实现接口统一前缀

    SpringBoot实现接口统一前缀

    本文主要介绍了SpringBoot实现接口统一前缀,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • SpringBoot中@Conditional注解的使用

    SpringBoot中@Conditional注解的使用

    这篇文章主要介绍了SpringBoot中@Conditional注解的使用,@Conditional注解是一个条件装配注解,主要用于限制@Bean注解在什么时候才生效,以指定的条件形式控制bean的创建,需要的朋友可以参考下
    2024-01-01
  • Java通俗易懂系列设计模式之责任链模式

    Java通俗易懂系列设计模式之责任链模式

    这篇文章主要介绍了Java通俗易懂系列设计模式之责任链模式,对设计模式感兴趣的同学,一定要看一下
    2021-04-04

最新评论