package zhang.javase.TestInner;
/**
- 内部类的使用方法
- @作者:小章鱼
*1.内部类分成成员内部类,和局内部类(在内部类中也可以有属性和方法,以及构造器)
*1.成员内部类:定义在外部内里面,在方法的外面 -
>>静态的成员内部类
-
>>非静态的成员内部类
*2.局部内部类:声明在外部类的方法中
*
*掌握3点:
*1.创建静态的成员内部类
*2.创建非静态的成员内部类
*3.在内部中调用外部类中的属性和方法,和内部类中的属性和方法
*/
//注意点:内部类定义在成员位置上,可以被private、static成员修饰符修饰。被static修饰的内部类只能访问外部类中
//的静态成员。
public class Testinner {
public static void main(String[] args) {
//创建一个静态的内部类对象
Person.Home h= new Person.Home();
//创建一个非静态的内部类
/*
* 1.先创建外部类的对象
* 2.在根据外部的对象,创建一个内部类对象
*/
Person person=new Person();
Person.Home2 h2= person.new Home2();
h2.print();
}
}
class Person{
private int age;
private String name;
//成员静态内部类
static class Home{
int size;
int location;
public Home(){
}
public Home(int size ,int location){
this.size=size;
this.location=location;
}
public void print(){
// show();在静态类的方法中只能调用静态的方法,static修饰的类先加载不能,而不能调用晚的
}
}
//成员非静态的内部类
class Home2{
public void print(){
show();
}
}
//方法
public void show(){
class Bird{
String name;
int id;
public Bird(){
}
}
System.out.println("我是外部类的方法");
}
}