面向对象_2

构造方法

构造方法根据是否有参数分为无参构造有参构造

无参构造   [修饰符]  类名(  ){ 

}

有参构造   [修饰符]  类名(Type arg1,Type arg2,... ){ 

}

无参构造没有任何参数,一般用于给属性赋值默认值。若是再开发中没有定义无参构造,那么jvm默认给类分配一个无参构造。

如果一个类提供了有参构造方法,jvm不在给类默认分配无参构造。开发中,如果定义了有参构造方法,一定要习惯性定义无参构造方法。

无参构造和有参构造是方法重载关系。

This关键字

this是一个关键字,表示对象本身,本质上this中存有一个引用,引用对象本身。

可用于解决局部变量和成员变量同名

this调用    [1] this.调用属性    [2] this.调用方法  

this调用本类的其他构造方法 [3] this(arg1,arg2,…);  this(name,health,love);

注意:this调用其他构造方法必须写到构造方法的第一句。

Static关键字

类中包含静态成员(静态变量和静态方法)和实例成员(实例变量和实例方法)

static关键字表示静态,可以修饰变量,称为静态变量/静态属性/类变量

static 类型 变量名称 [=初始值]   static int name =0

静态变量归类所有,分配在方法区(共享区)中的静态区,可以被类的实例共享访问。

访问方式  [1] 类名.静态变量 (推荐)   [2] 对象.静态变量

static也可修饰方法,称为静态方法;

[修饰符] static 返回值类型 方法名(arg...){

}

静态方法归类所有

调用形式  [1] 类名.方法名 (推荐)    [2] 对象.方法名

实例方法可以访问静态成员,而静态方法不能访问非静态成员。

因为在实例化一个对象时,jvm首先把 类名.class 加载到方法区:

[1]读取 类名.class 根据声明的成员变量计算申请内存需要的字节数

[2]读取 类名.class 中的静态成员,给静态变量分配空间并初始化。

静态常量   

在程序运行过程中,如果一个量的值不会发生改变,可以把该量声明为静态常量,用static final修饰。

static final 数据类型 常量名= ;     static final String SEX_MALE = "雄";

封装

封装:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。

封装的步骤

[1]属性私有化

[2]提供公共的设置器(setter)访问器(getter)

[3]在设置器和访问器中添加业务校验逻辑

代码块

代码块通过{ }声明,根据其位置可以分为普通代码块、构造代码块、静态代码块、同步代码块

普通代码块一般存在于方法或者类、方法等的定义中,普通代码块形成一个作用域。

构造代码块位于类中。构造代码块在构造方法前执行。构造一个对象执行一次

静态代码块位于类中,归类所有,用static修饰。在类加载时执行,在构建多个对象时只执行一次。

静态代码块一般用于初始化静态资源,构造代码块一般用于初始化实例成员。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 面向对象笔记 一、 对象在内存中的存放方法以及被调用过程 class文件首先被加载到方法区中的class文件内容区...
    VictorBXv阅读 3,418评论 0 2
  • 第四章 面向对象 面向对象思想 面向对象思想的引入前面我们讲过数组,当有多个数组都需要遍历时,我们可以将遍历的代码...
    chongsheng阅读 3,887评论 0 0
  • 1 面向对象No6 面向对象 OO Object Oriented 编程时以对象为单元,封装数据和逻辑,以此提...
    征程_Journey阅读 4,910评论 0 2
  • 接下来一段时间,会持续发布一个JavaSE学习笔记系列文章! 1.构造方法 构造方法是用来初始化对象的一个方法。 ...
    landy8530阅读 2,915评论 0 1
  • 整理来自互联网 1,JDK:Java Development Kit,java的开发和运行环境,java的开发工具...
    Ncompass阅读 5,438评论 0 6

友情链接更多精彩内容