类的属性(全局变量)
类是一个模板,它描述一类对象的行为和状态。
- 定义在类体中
- 都会存在系统默认值,不用赋值可以直接使用
- 没有作用域,可以在任何的地方使用全局变量。
变量
- 局部变量 :在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
- 成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
- 类变量:类变量也声明在类中,方法体之外,但必须声明为static类型。
创建方法
语法
修饰语 返回值 方法名 (参数列表){ }
- 分类
- 1 无参数无返回值
- 2 无参数有返回值
- 3 有参数无返回值
- 4 有参数有返回值
对象
对象是根据类创建的,是类的特例,是类的实例化。
- 声明:
声明一个对象,包括对象名称和对象类型。 - 实例化:
使用关键字new
来创建一个对象。 - 初始化:
使用new创建对象时,会调用构造方法初始化对象。
方法重载
如果有两个方法的方法名相同,但参数不一致,哪么可以说一个方法是另一个方法的重载。
- 特性区分
- 1 类型
- 2 参数的个数
- 3 参数的顺序
构造方法
构造函数是用于在对象创建后立即初始化对象的代码块。
语法
修饰符 类名(参数列表){构造方法体}
特性
没有返回值
不能通过对象调用,不能通过对象调用构造方法。
- 针对没有自定义构方法的类,java提供默认的,无参的构造方法。
一旦自定义了构造方法jvm就不会在提供的。 - 创建对象会执行,并且不能通过对象调用构造方法
- 如果自定义了任何构造方法,最好是添加一个无参数的构造方法
对对象成员变量的初始化
- 参数名称与属性名称习惯上是保持一致的,类型也是一致的。为了区分参数名和属性名,借助于一个关键字this。
java中构造方法默认机制:
- 如果一个类中没有定义任何的构造方法,jvm会为每个类提供一个默认的,无参的,隐式的构造方法,就是为了提供一个类创建对象的最基本的要求。
- 如果说定义了任何的构造方法,jvm提供的默认的,无参的,隐式的构造方法就不会在提供的。
构造方法的作用:
- 用于创建对象,如果需要创建对象,必须通过构造方法创建对象,(无参数的,有参数的)
- 为属性进行初始化,对象创建完成,属性的赋值也就完成了。
this
它是对类的当前实例的引用。它只能在实例的上下文中使用。
- 1
this.属性名称
在当前类中调用属性(this可以省略,一般情况下都会省略) - 2
this.方法名称
在当前类中调用方法(this可以省略,一般情况下都会省略) - 3
this(参数列表);
在同一个类中调用构造方法, —>这个语句必须在构造方法中使用,必须是构造方法的第一条语句。
访问修饰符
-
default
: (即缺省,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。 -
private
: 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类) -
public
: 对所有类可见。使用对象:类、接口、变量、方法 -
protected
:- 基类的 protected 成员是包内可见的,并且对子类可见;
- 若子类与基类不在同一包中,那么在子类中,子类实例可以访问其从基类继承而来的protected方法,而不能访问基类实例的protected方法。
范围:
public
(大–>所有)>default
(中–>所属包)>private
(小–>所属类)protected
(家族)