匿名对象
public class School {
//静态常量
//一旦赋值终身不变
//类名.变量名调用
public static final String SCHOOL_NAME="清华大学";
int age;
}
public class Demo {
public static void main(String[] args) {
System.out.println(School.SCHOOL_NAME);//类名.变量名调用
new School();
System.out.println(new School().age);
show(new School());
}
public static void show(School s){
System.out.println("我学校的年龄是"+s.age);
}
}
内部类
//外部类
public class Outer {
private int i=0;
//成员内部类
class Inner{
int i=2;
public void show(){
int i=1;
System.out.println(Outer.this.i);
}
}
}
//外部类
public class Wai {
public void show(){
//局部内部类
class Nei{
public void show1(){
System.out.println("这是局部内部类的方法");
}
}
Nei in=new Nei();
in.show1();
}
}
public class Test {
public static void main(String[] args) {
//外部类类名.内部类类名 变量名=new 外部类类名().new 内部类类名();
Outer.Inner oi=new Outer().new Inner();
oi.show();//0
Wai w=new Wai();
w.show();//这是局部内部类的方法
}
}
静态代码块
public class Person {
public static void main(String[] args) {
Person p=new Person();
}
static{
System.out.println("这是静态代码块");
}
}
public interface Smoke {
public abstract void smoke();
}
public class Test {
public static void main(String[] args) {
//匿名内部类对象
//new 父类(){
//重写父类的方法
//}
new Smoke(){
public void smoke() {
System.out.println("抽烟");
}
}.smoke();
}
}