62,614
社区成员
发帖
与我相关
我的任务
分享
/**
* 内部类创建与初始化
*
* @author leizhimin 2009-7-17 13:51:52
*/
public class Outer {
private int i = 10;
private int y = 8;
Outer() {
System.out.println("调用Outer构造方法:outer");
}
public void sayMsg() {
System.out.println("Outer class!");
}
class Inner {
int i = 1000;
Inner() {
System.out.println("调用Inner构造方法:inner");
}
void innerMsg() {
System.out.println(">>>>>Inner class!");
sayMsg();
//访问内部类自己的成员i,也可以写成 this.i++
this.i++;
//访问外部类的成员 i和y
Outer.this.i++;
y--;
}
int getI() {
return i;
}
}
public void test() {
Inner in = new Inner();
in.innerMsg();
}
public int getI() {
return i;
}
public void setI(int i) {
this.i = i;
}
}
class Test1 {
public static void main(String[] args) {
Outer outer = new Outer();
outer.test();
System.out.println(outer.getI());
System.out.println("-------1--------");
Outer.Inner iner = outer.new Inner();
iner.innerMsg();
System.out.println(iner.getI());
System.out.println("-------2--------");
System.out.println(outer.getI());
}
}
public interface Contents {
int value();
}
public interface Destination {
String readLabel();
}
public class Goods {
private class Content implements Contents {
private int i = 11;
public int value() {
return i;
}
}
protected class GDestination implements Destination {
private String label;
private GDestination(String whereTo) {
label = whereTo;
}
public String readLabel() {
return label;
}
}
public Destination dest(String s) {
return new GDestination(s);
}
public Contents cont() {
return new Content();
}
}
class TestGoods {
public static void main(String[] args) {
Goods p = new Goods();
Contents c = p.cont();
Destination d = p.dest("Beijing");
}
}
class Outer {
private int i = 10;
private int y = 8;
Outer() {
System.out.println("调用Outer构造方法:outer");
}
public void sayMsg() {
System.out.println("Outer class!");
}
class Inner {
int i = 1000;
Inner() {
System.out.println("调用Inner构造方法:inner");
}
void innerMsg() {
System.out.println(">>>>>Inner class!");
sayMsg();
//访问内部类自己的成员i,也可以写成 this.i++
this.i++;
//访问外部类的成员 i和y
Outer.this.i++;
y--;
}
int getI() {
return i;
}
}
public void test() {
Inner in = new Inner();
in.innerMsg();
}
public int getI() {
return i;
}
public void setI(int i) {
this.i = i;
}
}
public class Test1 {
public static void main(String[] args) {
Outer outer = new Outer();
outer.test();
System.out.println(outer.getI());
System.out.println("-------1--------");
Outer.Inner iner = outer.new Inner();
iner.innerMsg();
System.out.println(iner.getI());
System.out.println("-------2--------");
System.out.println(outer.getI());
}
}
这是一个基本点,在一个文件中如果有几个类文件的时候,只有main方法的的类才能用public修饰。