做设计素材网站有哪些,建站之星最新版本,网络营销去哪里培训,网站后台内容管理点击上方蓝色关注我们#xff01;大家好#xff0c;我是雄雄#xff0c;今天给大家介绍的是java中的几种内部类。java中常见的几个内部类#xff0c;你会几个#xff1f;我会四个#xff01;在看每个新知识点时#xff0c;我们不禁有这样或者那样的疑问#xff0c;比如… 点击上方蓝色关注我们大家好我是雄雄今天给大家介绍的是java中的几种内部类。java中常见的几个内部类你会几个我会四个在看每个新知识点时我们不禁有这样或者那样的疑问比如它是什么怎么用带着这些疑问我们继续往下看它内部类是什么内部类顾名思义就是内部的类什么的内部我们都知道java中基本的操作单元是类那么在类的内部还有一个类也可以说是类中嵌套类这样的结构我们就可以称这种类中的类为内部类。接下来我们可以看一个简单的内部类案例代码如下package org.test;//外部类
public class People {//外部类的方法public void show(String name){System.out.println(你好name);}//内部类class Peo {//内部类的方法public void show(String name){System.out.println(你好name);}}//外部类的main方法public static void main(String[] args) {//创建内部类的对象Peo p  new People().new Peo();p.show(张三);System.out.println(---------------);//调用外部类的new People().show(李四);}}分析一下代码我们先写了一个外部类People在外部类中写一个show方法并且需要一个String类型的参数紧接着有在该类中重新声明了一个名为Peo的类内部类该内部类中也写了一个show方法且需要一个Stirng类型的参数。然后我们在外部类的main方法中分别调用内部类与外部类的方法运行结果为可见内部类的用法并不难下面我们来深入的看看。java中的内部类只是java编译器的概念对于java的虚拟机而言它是没有java内部类的概念的也就是说java中的内部类最后也会被编译成一个独立的class文件。Java中的内部类可以分为四种静态内部类成员内部类方法内部类匿名内部类它内部类怎么用1.静态内部类静态内部类的声明和静态方法声明类似就是将关键词改成了class如下package org.test;//外部类
public class People {static int num;//内部类static class Peo {private static String name ;//内部类的方法public static void show(){System.out.println(数字是num);System.out.println(欢迎关注name嘿嘿);}}//main方法public static void main(String[] args) {new People().num  888;Peo.name  雄雄的小课堂;Peo.show();}}分析代码我们在外部类People中声明了一个int类型的num,在内部类中声明了name属性和show方法。然后在主体main方法中调用其结果为总结: 静态内部类可以直接访问外部的静态属性和方法但是不可访问外部类的实例属性和方法。2.成员内部类将静态内部类的static关键词去掉就成了成员内部类代码如下package org.test;//外部类
public class People {private static int age ;String address 山东济南;//内部类class Peo {private  String name ;//内部类的方法public  void show(){System.out.println(年龄是age);System.out.println(地址是address);System.out.println(名称是name嘿嘿);}}//main方法public static void main(String[] args) {Peo p  new People().new Peo();People.age  18;p.name  雄雄的小课堂;p.show();}}运行结果为:显而易见成员内部类中除了可以调用外部类中的私有的静态属性外还可以调用外部类的实例属性。下面还有一个问题即当外部类中的属性与内部类中的属性重名时在内部类中如何区分使用该属性呢代码如下//外部类
public class People {//年龄private static int age ;String address 山东济南;//内部类class Peo {//姓名private  String name ;//年龄private int age  28; //内部类和外部类重名的属性//内部类的方法public  void show(){System.out.println(年龄是age);System.out.println(年龄是age);System.out.println(地址是address);System.out.println(名称是name嘿嘿);}}//main方法public static void main(String[] args) {Peo p  new People().new Peo();People.age  18;p.name  雄雄的小课堂;p.show();}
}大家猜想一下age的值多少1828还是一个18一个28运行结果为造成这样的结果原因是什么呢从代码中不难看的出来age结果的值是内部类的值并非外部类的值那么如果我想在内部类中使用外部类的属性我应该如何使用呢很简单我们只需在该属性的前面加上“类名.this.属性名”即可案例中我们就可以这样写运行结果今天就先分享到这里剩余的“方法内部类”和“匿名内部类”我们明天接着讲。支持作者赞赏就不用啦生活都不易右下角的“在看/赞”点一下如果感觉文章不错记得分享到朋友圈让更多人知道粉丝群▲每天都会有不定额的红包发放了解公众号文章、抽奖最新资讯。往期推荐java中你知道的这四种代码块吗切记构造函数里面别一定不要初始化其他类踩过坑的都知道浅谈我的读书史浅谈我的读书史2