静态内部类的创建可以不依赖于外部类,直接创建的
eg:
public class Person {
public int age;//外部类要调用内部类信息 需要实例化(eg:new Heart.temp =12),无法直接访问
public Heart getHeart() {
return new Heart();
}
public void eat() {
System.out.println("人会吃东西!");
}
//静态成员类
/*
* 1、静态内部类中,只能直接访问外部静态类成员,如何调用非静态类成员,可以通过对象实例( new Person().eat();)
* 2、静态内部类实例时,可以不依赖于外部类对象
* 3、可以通过外部类.内部类.静态成员的方式访问内部类的静态成员(注意访问权限)
* 4、当内部类属性同名时,默认直接调用内部类中的成员,
* 如果需要访问外部类的静态成员属性,则可以通过 外部类.属性 的方式;
* 如果需要访问外部类的非静态成员属性,则可以通过 new 外部类().属性 的方式;
* */
static class Heart{
public static int age =12;
public static void say(){
System.out.println("hello!");
}
public String beat() {
new Person().eat();
return new Person().age + "岁的心脏再跳动";
}
}
}
public class TestPerson {
public static void main(String args[]) {
Person lili = new Person();
//获取静态内部类的方法
Person.Heart myHeart = new Person.Heart();
System.out.println(myHeart.beat());
Person.Heart.say();
}
}
点击查看更多内容
2人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦