inheriinnerclassdemo.java

来自「java入门经典教程 java入门经典教程 java入门经典教程」· Java 代码 · 共 66 行

JAVA
66
字号
// 例 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 + =
减小字号Ctrl + -
显示快捷键?