📄 inheriinnerclassdemo.java
字号:
// 例 2.4.7 InheriInnerClassDemo.java
public class InheriInnerClassDemo
{
private String testStr = "This is a test string";
class Person // 定义一个内部类Person
{
String name;
Email email;
class Email // 在内部类Person中定义了内部类Email
{
String mailId;
String mailAddress;
Email(String mailId,String mailAddress) // Email类的构造函数
{
this.mailId = mailId;
this.mailAddress = mailAddress;
}
String getMailInfo()
{
return this.mailId +"@"+this.mailAddress;
}
}
public void setName(String name)
{
this.name = name;
}
public String getName()
{
return this.name;
//return name;
}
public void setEmail(Email email)
{
this.email = email;
}
public String getEmail()
{
return this.email.getMailInfo(); // 注意this的用法
}
}
class ChildInnerClass extends InheriInnerClassDemo //内部类继承了外部类
{
void printTest()// 在内部类中可以访问作为父类的外部类的变量
{
System.out.println(super.testStr);
}
}
class Student extends Person // 内部类继承了同层的内部类
{
void showInfo()
{
System.out.println("Name: "+name+" E-mail: "+getEmail());
}
}
public static void main(String[] args)
{
InheriInnerClassDemo demo = new InheriInnerClassDemo();
ChildInnerClass childinner = demo.new ChildInnerClass();
childinner.printTest();
Student student = demo.new Student();
student.setName("lwz");
student.setEmail(student.new Email("kflwz","eyou.com"));
student.showInfo();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -