首页 > 编程语言 >java中的内部类

java中的内部类

时间:2022-12-21 11:25:27浏览次数:37  
标签:部类 java 内部 void Outer02 Inner02 println age

本文主要讲述java中的内部类

  老韩介绍

vip

 

vip

  • 局部类:

vip

vip

  局部类示例代码如下:

 1 public class LocalInnerClass {
 2     public static void main(String[] args) {
 3         Outer02 outer02 = new Outer02();
 4         outer02.OuterWork();
 5         System.out.println("LocalInnerClass中的Outer对象: "+outer02);
 6     }
 7 
 8 }
 9 class Outer02{
10     // 1.可以直接访问外部类的所有成员,包括私有的
11     private int age = 10;
12 
13     private void happy(){
14         System.out.println("Outer的private void happy()");
15     }
16     // 3.作用域,只能在定义内部类的方法体或者代码块中。
17     public void OuterWork(){
18         // 2.不能添加访问修饰符,能添加final关键字
19         final class Inner02 {
20             private int age = 11;
21             public void InnerWork(){
22                 // 7.外部类和内部类的成员变量名称相同,默认就近原则,如果想访问外部类的成员,可以用外部类名.this.外部类成员名
23                 System.out.println("Inner02的age: "+age+" Outer02的age: "+Outer02.this.age);
24                 // 验证outer对象与Outer02.this是否是同一个对象
25                 System.out.println("Outer调用OuterWork()的对象: " + Outer02.this);
26                 // 4.局部内部类直接访问外部类的属性和方法
27                 happy();
28             }
29         }
30         // 5.外部类访问内部类属性,方法,需要创建内部类对象。
31         Inner02 inner02 = new Inner02();
32         inner02.InnerWork();
33     }
34 }

  运行结果如下:

vip

  不难看出,Outer02.this与outer对象是同一个对象,因此可以调用Outer的age属性。

 

标签:部类,java,内部,void,Outer02,Inner02,println,age
From: https://www.cnblogs.com/zwgitOne123/p/16995822.html

相关文章

  • Java反射调用get/set方法,你还在这样用?
    之前有些场景下碰到需要用到反射调用JavaBean的get/set方法时都是像以下这种拼接的方式来实现方法的调用。Articlearticle=newArticle();article.se......
  • java.lang.ClassNotFoundException
    当你用Eclipse或者MyEclipse运行javaweb项目时,发现连接数据库失败,出现提示java.lang.ClassNotFoundException,你确定你的jar包添加了,那么很有可能是你项目的本地lib没有......
  • java.sql.SQLException: No value specified for parameter 12
    Stringsql="updatedishessetfoodName=?,foodPrice=?,foodWeight=?,cost_performance=?,address=?,date=?,firstCategoty=?,secondCategory=?,foods=?,......
  • java.sql.SQLSyntaxErrorException
    YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear'right)values('wdq','wdq......
  • XAMPP里tomcat启动报错:Make sure you have Java JDK or JRE installed and the requir
    ​​参考博客​​**1.运行命令行win+R在cmd中输入regedit出现下面的界面**2.在注册表中添加HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft/JavaDevelopmentKit3.成功界......
  • 基于Java springboot+mybatis+mysql+jsp网上书城管理系统
    @目录一、系统介绍二、功能展示1.主页(客户)2.登陆(客户)3.我的购物车(客户)4.我的订单(客户)5.我的图书(商家)6.新书上架(商家)7.订单管理(商家)7.统计分析(管理员)8.用户管理(用户管理......
  • Java 特性、三大版本、JDK、JRE、JVM
    Java的特性 简单性面向对象可移植性writeonce,runanywhere高性能分布式动态性通过反射机制多线程安全性异常机制健壮性 *思考?j......
  • JAVA数组
    JAVA数组定义数组是相同类型数据的有序集合声明创建dataType[]arrayRefVar=newdataType[arraySize];数组的声明是通过索引访问的获取数组长度:arrays.length......
  • 小白学JAVA第2天
    计算机computer组成Memory内存Motherboard主板IO设备输出设备inputonput人物冯·诺依曼“计算机之父”冯·诺依曼体系结构电脑常用的快捷键Num控制小键......
  • java.util.Optional基础
    传统处理Null方式深层质疑每次不确定一个变量是否为null时,添加一个进一步嵌套的if块,增加了代码缩进的层数。publicStringgetCarInsuranceName(Personperson){......