构造方法:
格式: 以类名为方法名的,没有返回值结构
(void也
不要
)如下:
public 类名(){ }
1: 构造方法是在创建对象时调用 new 类名(); new 类的构造方法名();
2: 构造方法多用于初始化一个对象: 比如给对象的属性赋值 调用需要提前执行的方法
3:
构造方法是每个类都默认自带的一个方法 但是这个构造方法没有参数 以及方法内容
4: 可以自己在类中创建构造方法(
包括带参数以及不带参数的
)
方法重载:
在类中可以存在多个同名的方法,格式:参数不一致
不一致的情况有:
数量、类型 、顺序
基于方法重载的机制,一个类可以定义多个构造方法,要求参数不一致
用于创建对象时 选择比较合适的创建方式
,
比如一个带图片的按钮 或者一个带文本的按钮对
象
5:
使用构造方法可以将赋值的代码提前写好,之后创建对象时,只需要给值就可以了不需要
使用对象变量名一个一个的给属性赋值
理解构造方法时,多看看
JFrame JButton
的源代码
继承: 类与类之间的关系
上级类是下面的所有类的父类、语法上为单继承,只能允许一个类直系继承一个类
小明是一名计科专业的同学
是一名大学生
是一名学生
一个对象可以拥有多重身份的 ,拥有的身份之间必须有继承关系
格式:
public class
子类名
extends
父类名
{ }
子类可以继承父类的什么?
(
回答这个问题的前提是: 得知道一个类中具备哪些不同的代码
)
主要是对象成员属性和方法,但是构造部分内容联代调用,静态资源共享
一个类中可以定义什么:
与对象相关的:
成员属性: 继承
成员方法: 继承
构造方法: 没继承 但是子类创建对象在调用自己的构造方法之前会将父类的构造方法调用
构造代码块: 向上联代调用:子类创建对象时 父类的构造代码块都会执行
与类有关的,与对象无关
静态属性: 继承 但是是与父类共用同一个
静态方法: 子类名也可以直接调用
静态代码块: 只在类第一次加载时执行 且只执行一次
// 一个类中可以定义什么
public class Student {
// - 与对象相关的:
// - 成员属性: 对象调用才可以使用
String name;
// - 成员方法: 对象名调用
public void setName(String name) {
this.name = name;
}
// - 构造方法: 创建对象时执行
public Student() {
System.out.println("Hello 我是构造方法");
}
// - 构造代码块: 创建对象时执行
{
System.out.println("Hello 我是构造代码块");
}
// - 与类有关的,与对象无关
// - 静态属性: 与类绑定,在内存中只会创建一份 类名可以直接调用
static int count;
// - 静态方法:
public static void staticMethod() {
System.out.println("Hello 我是静态方法,可以被类名调用");
}
// - 静态代码块
static {
System.out.println("Hello 我是静态代码块 一个程序运行过程中只执行一次");
}
}
方法重写:
子类中重写父类的方法,进行扩展改造方法体 ,但是保持与父类方法的格式一致
子类如果重写了父类的方法,子类中以及子类对象会优先调用重写之后的方法
子类重写方法之后还是需要调用父类的方法时,可以使用
super
关键字调用
super
关键字,在子类中指代父类 可以调用父类的属性 方法以及构造方法
属性以及方法的调用格式:
super.
属性
super.
方法名
();
调用构造方法的格式:
super();
必须放在子类的构造方法中第一行