文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2022-11-13 14:04

关注

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封装 内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯