首页 > 编程语言 >java的封装性

java的封装性

时间:2024-04-09 22:29:20浏览次数:18  
标签:封装 int private stu score Student java public

java的封装性简单说就是用private修饰使之只能在本类中使用。

举个例子,现实生活中学生可以查询成绩,老师可以修改成绩。显然在这个现象映射

到程序中"学生"是对象,学生具有属性“成绩”,且用private修饰,那么在外界创建一个

学生对象时不能直接用 学生.成绩体现出来,此时学生的信息相对外界是封闭的,就需

要一把钥匙即getter与setter方法来得到信息。虽然学生内部有get与set方法,但是在外

界创建学生对象时只展现其get的方法(这里在代码处解释),如此继续老师这个类中含

有set方法。(本次重点在最后代码)

public class Student {
    private String name;
    private int score;

    public Student(String name, int score) {
        this.name = name;
        this.score = score;
    }

    public int getScore() {
        System.out.println("成绩" + score);
    }

    public void setScore(int score) {
        this.score = score;
    }
}
public class Teacher {
    public void setScore(Student student, int score) {修改学生的成绩,这里
是老师与学生对象间的交涉
        student.setScore(score);
    }
}
public class Main{
public static void main(String args[]){
Student stu = new Student("我",100);
Teacher tea = new Teacher();
stu.getScore;//对用户而言界面仅仅显示getScore这个方法,而如果不用private修饰,用户直接
stu.Score这样出来,虽然看着没事,但实际我在操作stu.Score得到成绩发现点一下成绩光标在动,
哎,直接改掉。显然这样不行.
tea.setScore(stu,90);
System.out.println(stu.getScore)

标签:封装,int,private,stu,score,Student,java,public
From: https://blog.csdn.net/xiadengmabuzhiyu/article/details/137569390

相关文章

  • java中add()和put()方法区别?
    在Java中,add()和put()方法常用于不同的数据结构中,并各自具有特定的用途和语义。下面我们来详细讨论一下这两种方法的主要区别:List接口中的add()方法:add()方法在Java的List接口(以及它的实现类,如ArrayList和LinkedList)中非常常见。这个方法用于向列表的末尾添加一个元素。例如:j......
  • Java基于微信小程序的校园外卖平台设计与实现,附源码
    博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w+、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌......
  • Java对象是如何创建出来的?
    创建一个Java对象还不简单?new一下就出来了:Objectobj=newObject();不过,我相信,读者既然进来阅读这篇文章,想必是不满足于仅仅掌握创建Java对象的基本语法,而是要知其然也要知其所以然。下面,让我们一起来看看,对象是怎么创建出来的: 1、JVM进行类加载检查当Java虚拟机(JVM)执行new......
  • java中的远程调用http
    分享一下项目中用过的远程调用方法并总结两种请求方式的差别http远程调用一般分为两种get和post(其它方式暂不考虑)pom包<!--http远程调用--><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifa......
  • 03-JAVA设计模式-适配器模式
    适配器模式设么是适配器模式它属于结构型模式,主要用于将一个类的接口转换成客户端所期望的另一种接口,从而使得原本由于接口不兼容而无法协同工作的类能够一起工作。适配器模式主要解决的是不兼容接口的问题。在软件开发中,经常会有这样的情况:我们有一个现有的类,它的接口(方......
  • 基于JAVA Springboot + Vue 前端后分离 实现【考研资讯平台】(内附设计LW + PPT+ 源码
    项目名称项目名称:考研资讯平台项目技术栈该项目采用了以下核心技术栈:后端框架/库:SpringBoot数据库:MySQL前端技术:Vue.js(前后端分离)项目展示5.1学生前台功能模块5.1.2首页在系统首页可以查看以下内容:首页考研资讯报考指南资料信息论坛信息我的跳转到后台购物......
  • 基于JAVA Springboot + Vue 前端后分离 实现【教师人事档案管理系统】(内附设计LW + PP
    项目名称项目名称:教师人事档案管理系统项目技术栈该项目采用了以下核心技术栈:后端框架/库:Java数据库:MySQL前端技术:Vue.js(前后端分离)开发工具:Eclipse项目展示5.1前台功能模块前台首页在教师人事档案管理系统首页可以查看以下内容:首页培训信息系统公告个人中心......
  • 《架构风清扬-Java面试系列第19讲》解释一下Java中的“volatile”在多线程环境中的作
    适用范围:这道题适应范围挺宽的,各个年限都可以用参考答案:主要用于确保变量在多个线程之间的可见性和有序性。可见性:当一个线程修改了被volatile修饰的变量,其他线程能够立即看到修改后的值。这确保了变量在多个线程之间的可见性。有序性:volatile关键字能够防止指令重排序......
  • 最长公共子序列(线性dp)-java
    本文主要来描述两个字符串的最长公共子序列问题文章目录前言一、最长公共子序列二、算法思路1.dp[i][j]的四种情况2.dp[i-1][j]、dp[i][j-1]、dp[i-1][j-1]的关系3.dp数组的状态转移方程 4.dp数组具体如下三、代码如下1.代码如下(示例):2.读入数据3.代码运行结......
  • Java基础知识-面向对象编程(OOP)-Java集合框架-多线程和并发-Spring框架
    Java基础知识:Java的四种基本数据类型是:byte、short、int、long(整数类型)、float、double(浮点类型)、char(字符类型)、boolean(布尔类型)。它们之间的区别主要在于占用的内存大小和表示范围不同。Java中的String是不可变的意味着一旦String对象被创建,它的值就不能被修改。这意味着St......