jvm堆棧參數設置:java
-Xmx :設置最大堆大小;jvm
-Xms :設置最小堆大小;ide
-Xss :設置棧大小。棧最小默認1m函數
靜態代碼塊:this
隨類的加載(且初始化,不然不執行)而執行且只執行一次。用來初始化靜態變量spa
靜態代碼塊只能做爲類的成員存在,orm
Class.forName("java.lang.String");手動加載類對象
Class.forName("java.lang.String",false,classLoader());手動加載類d但不初始化,不會執行靜態代碼塊繼承
構造代碼塊和構造方法:接口
也是類的成員,和成員變量和成員函數同級。
構造對象時,先調用構造代碼塊,而後是構造函數。調用順序不會和二者的書寫順序有關,但會按 順序分別執行構造代碼塊和構造方法
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; } }