内部类的有关知识点

内部类:当我们在描述一个事物时,发现该事物当中有存在另一个事物-------我们把当前事物称为外部类,另外一个称为内部类

package part02.内部类;
public class InnerDemo {
	public static void main(String[] args) {
		/*1.如何调用内部类的成员
		 首先想要点用内部类的成员,必须先创建内部类的对象  new Inner()
		 但是直接new Inner()发现找不到Inner这个类
		 因为Inner是Outter的非静态成员
		 所以Inner这个类想要存在的前提是创建Outter对象new Outter()
		 */
		//Outter.Inner inner=new Outter().new Inner();
		//System.out.println(inner.num);
		//inner.show();
		/*
		 2.如何区分内部类成员和外部类成员
		 System.out.println(Outter.this.num+":"+this.num);
		 */
		/*
		 3.如何调用内部类的静态成员
		 静态的东西是优先于对象加载尽方法区
		 haha在一个非静态的类当中,必须先创建Inner对象haha才存在
		 如果内部类中有静态,那么内部类必须是静态的,此时就产生内部类当中无法访问外部类的非静态,但是可以访问内部类的非静态
		 */
		System.out.println(Outter.Inner.haha);
	}
}
class Outter{
	int num=10;
	void show() {
		System.out.println("Outter show.....");
	}
	//非静态
	static class Inner{
		int num=20;
		//静态
        static int haha=100;
		void show() {
			System.out.println("Inner show.....");
			//Outter.this.num指的是Outter.(这个类的)this(对象的).num(的num)
			//System.out.println(Outter.this.num+":"+this.num);
			System.out.println(num+":"+num);
		}
	}
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值