首页 > 编程语言 >Java入门:09.Java中三大特性(封装、继承、多态)01

Java入门:09.Java中三大特性(封装、继承、多态)01

时间:2024-09-15 20:50:51浏览次数:10  
标签:kind 01 Java String get 多态 set gname public

1 封装

  • 面向对象的三大特征 : 封装, 继承, 多态 。

封装可以从三个层面理解

  1. 将属性和方法组合在一起(封闭在一起)

  2. 将属性隐藏起来, 对外提供可以间接操作属性的方法。(提高程序设计安全性)

    目前我们都是属性私有化, 并提供与之对应的get和set方法

  3. 封装应用工具,为其他的程序员提供功能帮助。

属性的get和set方法

  • 这是一种封装设计

  • 但不是语法要求,是一种约定俗称。

  • 一般的要求是,属性私有, 其对应的get和set方法就是在get和set后面连接属性名

class Goods{
    private String gname ;
    private String kind ;
    private int price ;
    private int count ;
    
    //可以间接的为kind赋值
	public void setKind(String kind){
		this.kind = kind ;
	}

	//可以间接获得kind属性值
	public String getKind(){
		return kind ;
	}
    
    public void setGname(String gname){
        this.gname = gname ;
    }
    
    public String getGname(){
        return gname ;
    }
    
}

class Test{
    main(){
        Goods g = new Goods();
        //g.gname ; 无法直接访问
        //g.kind ; 无法直接访问
        g.setGname("可乐");// g.gname = "" ;
        print( g.getGname() ) ; // print( g.gname ) ;   getGname(g)
    }
}

特殊的get和set方法

  • get和set方法的写法不一定完全一致。

    class A{
        private int age ;
        public void setAge(String age){
            this.age = Integer.parseInt(age) ;
        }
    }

  • boolean类型的属性,其get方法有些特别,是以is开头

    class A{
        private boolean flag ;
        public void setFlag(boolean flag){
            this.flag = flag ;
        }
        public boolean isFlag(){
            return flag ;
        }
    }

标签:kind,01,Java,String,get,多态,set,gname,public
From: https://blog.csdn.net/a2018204587/article/details/142182807

相关文章

  • [Javascript Vue] Improve heavy component loading performance
    Let'ssaywehaveaVueapplicationthatrendersmanyheavycomponentsonthefirstload.Theproblemwe'refacingisalongwhitescreenperiodwhileJavaScriptisloadingandthebrowserispainting.Howcanweoptimizeperformance?Sincethe......
  • 【题解】—— [NOIP2011 普及组] 数字反转
    【题解】——[NOIP2011普及组]数字反转[NOIP2011普及组]数字反转题目描述输入格式输出格式输入输出样例输入#1输出#1输入#2输出#2提示1.思路解析2.AC代码[NOIP2011普及组]数字反转通往洛谷的传送门题目描述给定一个整数......
  • Java 中的日期时间类运算:Date、LocalDateTime 与 Hutool 的 LocalDateTimeUtil(详细用
    在Java编程中,处理日期和时间是一项常见的任务。Java提供了多种日期和时间相关的类来满足不同的需求,其中Date类是较早引入的日期时间处理类,而LocalDateTime是Java8之后引入的更加强大、易用的日期时间类。此外,Hutool工具库中的LocalDateTimeUtil为LocalDateTime的操作提......
  • 【Java面试】第十一天
    ......
  • Java开发环境 第二章(Java Developer environment on Windows 10 Chapter 2)
    第二章IdeaMaven安装与设置1.Idea安装(下载请至idea官网)一路默认,下一步至完成2.IdeaMaven配置a.idea注册码获取,还请自行搜索"idea激活码"或"idea破解"b.创建测试项目新建项目选择JDK项目位置c.配置Maven(maven仓库请自行搜索下载)注意修改sett......
  • Java开发手册(初级)
    文章目录前言2API基础篇2.1Scanner类2.2Random类3API进阶篇3.1String类3.1.1代码示例3.1.2==和equals方法的区别3.2StringBuilder类3.2.1代码示例3.2.2链式编程3.3StringJoiner类3.4Math类3.5System类3.6Runtime类3.7Object类前言      ......
  • Java中常见的并发问题与解决方案
    Java中常见的并发问题与解决方案内容概述多线程编程是Java中构建高性能应用程序的重要部分。然而,并发带来了诸多问题,尤其在多个线程访问共享资源时,容易引发如死锁、竞态条件等问题。这些问题如果处理不当,会导致程序行为不可预测,甚至崩溃。本文将分析Java中常见的并发问题,并介......
  • Java毕设项目II基于SSM的汽车在线租赁管理系统
    目录一、前言二、技术介绍三、系统实现四、论文参考五、核心代码六、源码获取全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末一、前言随着汽车保有量的持续增长和共享经济理念......
  • 计算机毕业设计选题推荐-在线投票系统-Java/Python项目实战
    ✨作者主页:IT研究室✨个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。☑文末获取源码☑精彩专栏推荐⬇⬇⬇Java项目Python项目安卓项目微信小程序项目......
  • Java毕设项目II基于SSM的宠物综合服务平台的设计与实现
    目录一、前言二、技术介绍三、系统实现四、论文参考五、核心代码六、源码获取全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末一、前言随着生活水平的提高和人们对情感寄托需求......