2.代码块
1.内部类
3.链表
2.代码块:
1.) 普通代码块。
2.)静态代码块。
3.)构造代码块。
4.)同步代码块。
class Test{
//构造块
{
System.out.println("Constract Test block");
}
static {
a = 10;
}
Test(){
System.out.println("Constract Test");
}
private static int a;
}
public class BlockTest{
public static void main(String args[]){
//普通块
{
int a= 100;
System.out.println(a);
}
new Test();
}
}
//构造块
{
System.out.println("Constract Test block");
}
static {
a = 10;
}
Test(){
System.out.println("Constract Test");
}
private static int a;
}
public class BlockTest{
public static void main(String args[]){
//普通块
{
int a= 100;
System.out.println(a);
}
new Test();
}
}
2.内部类
内部类可以使用外部私有成员。
private String name = "Hello World";
class Inner{
public void print(){
System.out.println("name="+name);
}
};
public void fun(){
new Inner().print();
}
};
public class InnerTest{
public static void main(String args[]){
new Outter().fun();
new Outter().new Inner().print();
Outter out = new Outter();
Outter.Inner inn = out.new Inner();
inn.print();
//定义一个内部类,外部类.内部类 内部类对象 = 外部类实例.new 内部类实例
Outter.Inner inner = new Outter().new Inner();
inner.print();
}
}
class Inner{
public void print(){
System.out.println("name="+name);
}
};
public void fun(){
new Inner().print();
}
};
public class InnerTest{
public static void main(String args[]){
new Outter().fun();
new Outter().new Inner().print();
Outter out = new Outter();
Outter.Inner inn = out.new Inner();
inn.print();
//定义一个内部类,外部类.内部类 内部类对象 = 外部类实例.new 内部类实例
Outter.Inner inner = new Outter().new Inner();
inner.print();
}
}
class Outer{
private String name = "Hello world";
public void fun(){
new Inner(this).print();
}
public String getName(){
return this.name;
}
};
class Inner{
private Outer outer;
public Inner(Outer out){
this.outer = out;
}
public void print(){
System.out.println("name ="+this.outer.getName());
}
};
public class EmbeddedTest{
public static void main(String args[]){
Outer outer = new Outer();
outer.fun();
}
}
2.方法中添加内部类
class Outer{
//如果方法中引用内部类,且内部类要使用此函数的参数,那么此函数的参数必须要定义为final
public void show(final int temp){
class Inner{
void print(){
System.out.println(temp);
}
};
new Inner().print();
}
};
public class FinalTest{
public static void main(String args[]){
Outer outer = new Outer();
outer.show(20);
}
}