day5

  1. jvm堆栈参数设置:

    -Xmx :设置最大堆大小;

    -Xms :设置最小堆大小;

    -Xss :设置栈大小。栈最小默认1m


  2. 静态代码块:

    随类的加载(且初始化,否则不执行)而执行且只执行一次。用来初始化静态变量

    静态代码块只能作为类的成员存在,

    Class.forName("java.lang.String");手动加载类

    Class.forName("java.lang.String",false,classLoader());手动加载类d但不初始化,不会执行静态代码块

  3. 构造代码块和构造方法:

   也是类的成员,和成员变量和成员函数同级。

   构造对象时,先调用构造代码块,然后是构造函数。调用顺序不会和两者的书写顺序有关,但会按    顺序分别执行构造代码块和构造方法

4. 继承(单继承)

  

public class Demo2 {
public static void main(String[] args) {
Man p = new Man();
p.setName("老王");
p.doSomeThing();
Women w = new Women();
w.setName("小丽");
w.doSomeThing();
}
}
class Person {
protected String name;
protected int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void doSomeThing(){
}
}
class Man extends Person {
@Override
public void doSomeThing() {
System.out.println(name + "赚钱。。。。。。");
}
}
class Women extends Person {
@Override
public void doSomeThing() {
System.out.println(name + "买买买。。。。。。");
}
}

5.没有方法体的方法叫做抽象方法,包含抽象方法的类叫抽象类。抽象类有构造方法但不能实例化,只有通过子类重写所有抽象方法后实例化。

6.非法修饰符组合:

 private + abstract,absract + static ,abstract + final

7.super指向父类引用,this指向对象本身引用

8.接口:interfacel,例:

public class EarthRicher {
	public boolean marry(Wrb ws) {
		return ws.beauty() && ws.rich() && ws.white();
	}

	public static void main(String[] args) {
		EarthRicher r = new EarthRicher();
		if (r.marry(new WomenStar())) {
			System.out.println("+++++++");
		} else {
			System.out.println("NO!");
		}
	}
}

interface IWhite {
	public abstract boolean white();
}

interface IRich {
	public abstract boolean rich();

}

interface IBeauty {
	public abstract boolean beauty();
}

interface Wrb extends IWhite, IRich, IBeauty {

}

class WomenStar implements Wrb {

	@Override
	public boolean beauty() {
		return true;
	}

	@Override
	public boolean rich() {
		return true;
	}

	@Override
	public boolean white() {
		return true;
	}
}


你可能感兴趣的:(java)