构造函数
- Java中有无参构造和有参构造,通过构造方法可以实现创建对象时的初始化赋值
public class Excelle {
private String type="越野";
private String id="s12";
public Excelle() {
}
public Excelle(String type, String id) {
super();
this.type = type;
this.id = id;
}
public static void main(String[] args) {
Excelle car1 = new Excelle();
- 其中Excelle(){}就是Excellent中的无参构造方法,执行Excelle car1 = new Excelle();就会执行Excellent(){} 当类里面没有构造方法时,系统会自动提供一个默认的无参构造
- 构造方法没有返回值类型 也不能写void
- 如果类中有无参构造和有参构造,那么它就是方法重载。方法重载的判断依据:同名同类不同参。方法重载与方法的返回值和方法修饰符没有任何关系。
- 调用构造函数时this或super必须该方法的第一行
- 构造函数不可以继承,但当执行子类构造函数时,若没有调用父类构造函数,则先执行父类无参构造,再执行子类构造函数
super和this
- super:当前父类的引用,可以调用父类中的公有属性、方法和构造函数
- this:当前对象的引用,可以调用当前类的属性、方法、和构造函数
- 使用super或this时必须写在第一行
- super和this不能同时使用
static修饰符
- static修饰符可以属性、方法和代码块
- 把用static修饰的属性或方法称为类属性或类方法,不用static修饰的属性或方法称为实例属性或实例方法
- static静态代表全局共享
- static修饰的代码块指在加载的时候执行
public class Dog {
public String name;
public static int heathl;
private int love;
private String strain;
static{
System.out.println("这是初始化代码");
}
- 类属性和类方法可以用类名或对象名调用,实例属性和实例方法只能用对象名调用
四种访问权限修饰符
访问修饰符 | 本类 | 同包 | 子类 | 其他 |
---|
private | √ | × | × | × |
默认(friendly) | √ | √ | × | × |
protected | √ | √ | √ | × |
public | √ | √ | √ | √ |
final的用法
- 修饰类时,此类不可以创建子类(断子绝孙)
- 修饰属性时,这个属性不能被修改
- 修饰方法时,此方法不能被子类重写
一个具有注脚的文本。
ps:static、abstract、final不可以同时出现