首页 > 其他分享 >Demo52_关于封装

Demo52_关于封装

时间:2022-10-29 17:22:25浏览次数:55  
标签:Demo52 封装 String getName XH age 关于 public name

//关于封装
package com.oop.demo2;
//private:私有属性,只能通过方法赋值
public class FZ_4 {
//属性
private String name;
private int age;
//get获取这个数据
public String getName() {
return this.name;
}
//set给这个数据赋值
public void setName(String name) {
this.name = name;
}
//通过alt+insert可以快速打出set和get
public int getAge() {
return age;
}
public void setAge(int age) {
if (age > 100 || age < 0) {//如果传进来的数字大于100或者小于0
this.age=3;//就输出3岁和输入的年龄不合法
System.out.println("年龄不合法");
}else {//否则就正常输出年龄
this.age=age;
}
}
}
//测试代码
/* 测试代码
public static void main(String[] args) {
//创建一个对象,称之为"小红"
FZ_4 XH = new FZ_4();
//通过对象名.方法名再局部变量
//将getName方法输出出来的东西赋给MinZi这个对象,再将这个对象输出出来
XH.setName("小红");//给setName中的name赋值
System.out.println(XH.getName());
String MinZi = XH.getName();//第11行代码
System.out.println(MinZi);
XH.setAge(999);
System.out.println(XH.getAge());//第14行代码
//第14行代码比第11行代码更加简便
}
步骤:
1.将小红这个名字传到public void setName(String name)中的name去
再将小红赋值给this.name(这个name,上未定义的属性name),
2. public String getName()中的getName意思就是获取上面已经被定义过的String name
return this.name(返回这个name,意思就是返回一个小红)
3.String MinZi = XH.getName()通过对象名.方法名局部变量创建一个对象,将getName
方法输出出来的东西赋给MinZi这个对象,再将这个对象输出出来
封装的意义:
1.提高程序的安全性,保护数据
2.隐藏代码的实现细节(封装是上帝视角,main是客户视角)
3.统一接口,就是所有的方法都是get,set
4.提高系统的可维护性
*/

 

 

 

 在类里封装在main方法里面输出






标签:Demo52,封装,String,getName,XH,age,关于,public,name
From: https://www.cnblogs.com/CHX249/p/16839170.html

相关文章

  • Demo51_关于构造器有参构造的使用
    //构造器:有参构造的使用packagecom.oop.demo2;publicclassperson_3_2{Stringname;intage;publicperson_3_2(){}publicperson_3_2(Stringna......
  • 关于Windows-SSM-agent-service服务启动报错refer to service-specific error code 1
    今天在一台aws机器上,启动SSM-agent-service服务报如下错误:WindowscouldnotstarttheAmazonSSMAgentonLocalComputer.Formoreinformation,reviewtheSystem......
  • Demo51_关于构造器_偏复杂
    //关于构造器packagecom.oop.demo2;//空的类中有默认的方法,默认的构造器//一个类即使什么都不写,它也会存在一个方法(构造器)publicclassPerson_3{//1.使用new关键......
  • 关于期中考试的一篇小结haoz
    感想------“熟练度不够”提前一周就开始焦虑啦啊喂,好在是终于过去啦!本次考试我主要是利用MyBatis实现的,有些细节还不够完善,这是主要的扣分点,希望期末考试能够更加顺利一......
  • Java之关于new
    理解new在java中是创建新的实例的意思,在内存中申请出一块属于这个类的空间。使用例如:Catc=newCat();  Cat/*(以Cat为类型)*/c/*(对Cat类申请空间后返回的......
  • 关于从git上拉下来的代码左下角有一个黄色的闹钟解决办法
    关于从git上拉下来的代码左下角有一个黄色的闹钟解决办法问题情况解决办法:1,出现橙色原因:没有添加到maven解决办法:找到项目的xml,如果最外层没有xml,找到模块里面对应......
  • 关于struct和typedef
    c/c++中有定义数据结构语句structstudent//定义数据结构体{inta;//.....}structstudenta1;//初始化变量可以看到,定义结构体后每次进行初始......
  • 关于类加载的执行顺序
    简单了解java类加载的运行顺序进入main方法的类时的操作以main方法的类作为入口给本类static修饰的成员变量赋一个默认值,如果还被final修饰,就赋值为定义的那个值,执行本......
  • vue 封装带图标的标题组件
    效果图: com-item-title.vue组件<template><divclass="com-item-title"><divclass="com-item-boxflex-center-center"><divclass="com-item-cont">......
  • 关于VM系列振弦传感器测量模块 固件版本SF3.50相较于SF3.33的新特性说明
    测频性能提升微弱信号增强,进一步增强了微弱信号的识别和处理算法。增加辅助测频,在不改变以往固件使用的前提下,利用预置噪声、特征频率模型及过滤算法SFC(SmartFrequencyC......