[JAVASE复习]06.类的定义

类的定义?

类定义的格式
public 修饰词 class 类名 {
	// 成员变量
	// 静态代码块
	// 代码块
	// 成员⽅法
}

举例:

public class Student {
// 成员变量
String name; // 姓名
int age; // 年龄
static{}//静态代码块
// 成员⽅法
// 学习的⽅法
publicvoid study() {
	System.out.println("好好学习,天天向上");
	}
	// 吃饭的⽅法
	publicvoid eat() {
	System.out.println("学习饿了要吃饭");
	}
	}

类的修饰词
static修饰词

类不能用static来修饰,不过可以修饰内部类

  • 创建内部类对象,需要调用外部类对象来完成

  • 加入static关键字后,可以直接创建内部类对象

final修饰词

final:不可改变。可以⽤于修饰类、⽅法和变量。

  • 类:被修饰的类,不能被继承。
  • ⽅法:被修饰的⽅法,不能被重写。
  • 变量:被修饰的变量,不能被重新赋值。
abstract修饰词

使⽤ abstract 关键字修饰的类,该⽅法就成了抽象类

  • 如果⼀个类包含抽象⽅法,那么该类必须是抽象类。

  • 如果⼀个类是抽象类,那么该类不一定有抽象方法。

使用:

  • 抽象类不能被实例化,也就是不能创建对象

  • 继承抽象类的⼦类必须重写⽗类所有的抽象⽅法。

  • 否则,该⼦类也必须声明为抽象类。最终,必须有⼦类实现该⽗类的抽象⽅法,


成员变量
成员变量的私有化
  • 成员变量用private进行修饰

  • 并且提供一对get和set方法

  • 封装成员变量,并且提供get/set方法打破封装

成员变量与局部变量的对比
  1. 在类中的位置不同
  • 成员变量:类中,⽅法外
  • 局部变量:⽅法中或者⽅法声明上(形式参数)
  1. 作⽤范围不⼀样
  • 成员变量:类中
  • 局部变量:⽅法中
  1. 初始化值的不同
  • 成员变量:有默认值
  • 局部变量:没有默认值。必须先定义,赋值,最后使⽤
  1. 在内存中的位置不同 了
  • 成员变量:堆内存
  • 局部变量:栈内存
  1. ⽣命周期不同
  • 成员变量:随着对象的创建⽽存在,随着对象的消失⽽消失
  • 局部变量:随着⽅法的调⽤⽽存在,随着⽅法的调⽤完毕⽽消失

成员方法
关键字 修饰词 返回值类型 方法名(参数类型 参数名) {
	//方法体
	//return 返回值;
}

更多有关方法的详解请看 [JAVASE复习]04.方法


构造方法

当⼀个对象被创建时候,构造⽅法⽤来初始化该对象,给对象的成员变量赋初始值。

注意:

  1. 如果你不提供构造⽅法,系统会给出⽆参数构造⽅法。

  2. 如果你提供了构造⽅法,系统将不再提供⽆参数构造⽅法。

  3. 构造⽅法是可以重载的,既可以定义参数,也可以不定义参数。


静态代码块与代码块

静态代码块:定义在成员位置,使⽤static修饰的代码块{ }。

  • 位置:类中⽅法外。
  • 执⾏:随着类的加载⽽执⾏且执⾏⼀次优先于main⽅法和构造⽅法的执⾏
  • 作⽤:给类变量进⾏初始化赋值。

内部类
  • 成员内部类:也叫做普通内部类,定义在成员方法的内部
  • 静态内部类:用static进行修饰的内部类,加入static关键字后,可以直接创建内部类对象
  • 匿名内部类:没有名字的类,属于局部内部类,常用于实现接口

JAVA类初始化的顺序
  1. 如果这个类还没有被加载和链接,那先进行加载和链接

  2. 假如这个类存在直接父类,并且这个类还没有被初始化(注意:在一个类加载器中,类只能初始化一次),那就初始化直接的父类(不适用于接口)

  3. 加入类中存在初始化语句(如static变量和static块),那就依次执行这些初始化语句。

  4. 总的来说,初始化顺序依次是:静态变量/静态代码块 -> main方法 -> 非静态变量/代码块 -> 构造方法

  5. 如果有父类,则顺序是:

  • 父类–静态变量/父类–静态代码块
  • 子类–静态变量/子类–静态代码块
  • 父类–变量/父类–代码块
  • 父类–构造器
  • 子类–变量/子类–代码块
  • 子类–构造器
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值