Java初阶——This与代码块

This与代码块

  • 一. 面向对象的三大特征
    • 1.1关于属性的封装
    • 1.2 构造方法
  • 二. this 关键字
    • 2.1 this 修饰属性
    • 2.2 this 修饰方法
      • 2.2.1 this 调用类中的成员方法
      • 2.2.2 this 调用构造方法
  • 三. 代码块
    • 3.1 普通代码块
    • 3.2 构造块
    • 3.3 静态块
    • 3.4 toString()方法
    • 3.5 匿名对象

一. 面向对象的三大特征

封装
继承
多态

1.1关于属性的封装

(1)private实现属性的封装
(2)private一旦修饰属性和方法——被private修饰的属性,只在类的内部可见class Person{}
(3)一旦属性被private封装后,类的外部若想操作该属性,必须借助类提供的getter/setter
(4)Java统一规定,所有成员变量统一使用private封装

1.2 构造方法

对象初始化,在进行对象初始化由编译器自动调用。
语法:
public 类名称(参数…)

  1. 构造方法与类名称相同,没有返回值声明;
  2. 若类的内部设提供构造方法,编译器会自动生成一个无参构造;
  3. 构造方法的重载(参数个数不同),一般用在将类中的成员变量赋值。

二. this 关键字

2.1 this 修饰属性

原则:打破编译器就近匹配原则,直接从类中去找成员变量
this修饰成员变量,表示直接使用类中的成员变量。

class Person{
   private String name;
   peivate int age;
   public Person(String name,int age){
       this.name = name;
       this.age = age;
       )
   

2.2 this 修饰方法

2.2.1 this 调用类中的成员方法

this.方法(){}

2.2.2 this 调用构造方法

调用无参构造 this();
1.使用语法:
this(构造方法参数列表)
2. 当在构造方法中调用其他构造方法,此时语句必须写在构造方法首行。
3. 构造方法的调用不能成环(线性调用)

三. 代码块

3.1 普通代码块

定义在方法中,用{…}的代码
语法:在普通代码块中的变量,出了代码块会被销毁。

3.2 构造块

定义在类中,直接使用{…}部分代码
根据一个类产生对象

  1. new在堆上开辟新空间
  2. 使用构造方法进行对象初始化操作

构造快优先于构造方法执行,并且有几个对象产生,构造块就执行几次。

3.3 静态块

定义在类中,使用static修饰的代码块称为静态代码块
***优先于构造快执行,与对象无关
***当类加载时调用静态块,并且当该类被加载后只调用一次。
***当具体使用某个类是,JVM才将此类加载到内存空间中

3.4 toString()方法

(1)当引用的数据类型直接使用println输出时,实际上,println调用的就是该类的toString();
(2) 快捷生成toString toSring + 回车键或者alt + insert
(3) 当类中没有提供toString时,默认调用的是Object的toString(),输出一个对象的地址。

3.5 匿名对象

没有引用指向的对象,使用一次就会被JVM销毁。

你可能感兴趣的:(java初阶,java,jvm,开发语言)