对象和封装
来源:互联网 发布:查考试成绩的软件 编辑:程序博客网 时间:2024/06/08 15:06
- this关键字
- 在构造方法中:
- 可以使用this调用成员变量,解决成员变量和局部变量的同名冲突。
- 可以用this()调用重载的构造方法。
- this通常指当前对象的引用,他可以调用当前对象的成员。 例如:
- this.属性名
- this.方法名()
- 在构造方法中:
- 常量
- 用常量来存储不变的数据,变量在程序运行过程中不会发生变化,只能被引用,不能被重新赋值,也就是只能在定义时修改其值。Java中常量使用final关键字修饰,并且常量名通常为大写,单词与单词之间用下划线连接。
- 构造方法及其重载
- 构造方法
- 构造方法的名称和类名相同,没有返回值类型。
- 构造方法的主要作用就是创建对象时执行一些初始化操作,如给成员属性赋初值。
- 构造方法是一个特殊的方法,当没有无参构造方法时,系统会造一个空的无参构造方法。
- 一旦提供了自定义构造方法,系统将不在提供这个默认构造方法。如果要使用,必须手动添加。
- 例如:
- 构造方法
public class Dog { private String name; private String strain; public Dog(){ name="无名氏"; strain="聪明的拉布拉多犬"; } }
- 重载 - 同一个类中,方法名相同参数列表不同,与返回值和方法修饰符无关 - 构造方法的重载,例如:
public class Dog { private String name; private String strain; /** * 无参构造方法 */ public Dog(){ name="无名氏"; strain="聪明的拉布拉多犬"; } /** * 有参构造方法 * @param name String类型的名字 * @param strain String类型的品种 */ public Dog(String name,String strain){ this.name=name; this.strain=strain; } }
- static修饰符
- static可以用来修饰属性、方法和代码块。
- static修饰的变量属于这个类所有,即由这个类创建的所有对象共用一个static变量。
- 通常把static修饰的属性和方法称为类属性(类变量)和类方法。
- 在加载类过程中,完成静态变量的内存分配,再执行静态块,两者是在创建对象之前执行的。
- 类属性和类方法可以通过类名和对象名访问,实例属性和实例方法只能通过对象名访问。
- 类方法只能访问类属性和其他类方法。
- 静态方法中不能使用this和super关键字。
- 在方法里不可以定义static变量,也就是说,类变量不能是局部变量。
- 封装
- 封装是面向对象的三大特性之一,就是将类的状态信息隐藏在类内部,不允许外部程序直接访问,而通过该类提供的方法来实现对隐藏信息的操作和访问。
- 封装的具体步骤:修改属性的可见性来限制对属性的访问;为每个属性创建一对赋值(setter)方法和取值(getter)方法,用于对这些属性的存取;在赋值方法中,加入对属性的存取控制语句。
- 封装的好处:隐藏类的实现细节;让使用者只能通过程序规定的方法来访问数据;可以方便地加入存取控制语句,限制不合理的操作。
阅读全文
0 0
- 对象和封装
- 对象和封装
- 对象封装和类--详解
- 类、对象和封装简介
- 面向对象(隐藏和封装)
- JavaScript封装对象和类
- Xfire封装对象和List型对象
- Xfire封装对象和List型对象
- 类和对象、封装和继承
- c++类和类的封装,对象线程封装
- 面向对象的封装和继承
- JS实现StringFormat和Request对象封装
- Java面向对象之类和封装
- 面向对象成员封装和this关键字
- Java面向对象封装和多态
- JAVA 面向对象 隐藏和封装
- 封装(1.类和对象)
- javaSE_07Java中类和对象-封装特性
- 业余小项目——tzxblog博客系统
- 全志android编译过程
- Q群操作CPA自动赚钱、引流的秘诀与技巧
- TIM Ctrl + Shift + A 截图时 TIM的窗口被隐藏后才能开始截图
- 内核启动2-解决MBR学习分区
- 对象和封装
- JAVA--访问修饰符
- Maven 插件maven-war-plugin 构建war包,包含jks,p12证书时的踩坑记录
- 2017-11-29 黑科技
- javascript实现扁平数组构建树形结构(多级菜单应用)-优化
- busybox配置telnetd
- 4.Python
- python的request模块基本运用
- 公司更需要会哪种语言的工程师?IEEE Spectrum榜单发布