当前位置:首页 > 图灵资讯 > 技术篇> Java内部类

Java内部类

发布时间:2023-04-25 11:03:09

  内部编写的类别称为内部类别。嵌套类别称为内部类别,其他类别称为外部类别

  一般来说,内部类包括四类:成员内部类、局部内部类、匿名内部类和静态内部类。成员内部类(外部类内部方法外编写的类是成员内部类)特点:

  1.成员内部类可以无条件访问外部类的所有成员属性和方法(包括private成员和静态成员);

  2.同名属性名/方法名访问外部类时 → 外部类名.this.成员名

  成员的内部类依赖于外部类,因此在访问外部类中的内部类时,必须首先实例化外部类对象

  成员内部类实例

  public class Outer { String name = “外部类名”; static String type = “外部type属性”; private int item = 1;public static void show() { System.out.println(“在外部类中使用show方法”);}public void print() { System.out.println(调用外部类中的打印方法);}///成员内部类 可使用权限修饰符修饰public class Inner{ //static double weight = 1.8; /static不能用于成员内部类别的修改变量和方法 String name = “内部类名”; public void innerShow(){ ////成员内部类可以直接访问外部类的属性和方法 show(); print(); System.out.println(type); System.out.println(item); System.out.println("我是:""" + name); ///特指访问 使用类名.this.访问变量名 System.out.println("我是:""" + Outer.this.name); }} public static void main(String[] args) { ////创建成员内部对象的步骤 //1.第一步是实例化外部对象 /2.第二步是正常实例化内部对象 但是new关键字需要改成 外部对象名.new /*Outer outer = new Outer(); Inner inner = outer.new Inner();*/ //或以这种方式创建 Outer.Inner inner = new Outer().new Inner(); inner.innerShow(); }}

  局部内部类 (编写在方法内部的类称为局部内部类,也可以称为方法内部类) 特点:

  1.局部内部类是定义在一个方法或一个功能域的类。它与成员内部类的区别在于,局部内部类的访问仅限于方法或功能域;

  2.局部内部类别不能使用权限修饰符 静态(static)修饰符 与局部变量相同;

  3.局部内部类可以直接访问方法中的属性;

  4.局部内部类 外部类中的属性和方法可以直接访问;

  5.局部内部类 创建对象 在方法内部 局部内部外部声明

  局部内部类实例

  public class Partial { String name = “外部类名”; String type = “外部type属性”; private int item = 1; public static void show() { System.out.println(“在外部类中使用show方法”); } public void print() { System.out.println(调用外部类中的打印方法); }public void demo(){ String name = “外部方法deme()内部方法名”; String type = “外部方法deme()内部type属性”;/*方法内部编写的类称为局部内部类 局部内部类别不能使用权限修饰符 静态修饰符进行修饰 与局部变量相同 局部内部类的使用范围与局部变量相同 在这种方法的内部 局部内部类可以直接访问该方法中的属性 重名时,使用参数传输完成访问*/ class Inner{ ///局部内部类 外部类中的属性和方法可以访问 String name = “局部类名”; public void showInner(String name){ show(); print(); System.out.println("我是:"""+ type); System.out.println("我是:"""+ Partial.this.type); System.out.println(item); System.out.println("我是:""" + this.name); System.out.println("我是:""" + name); System.out.println("我是:""" + Partial.this.name); } } ///局部内部类 创建对象 在方法内部 局部内部外部声明 Inner inner = new Inner(); inner.showInner(name);

  } public static void main(String[] args) { Partial partial = new Partial(); partial.demo(); }

  }

上一篇 docker
下一篇 如何自动生成 API 接口文档 - 一份详细指南

文章素材均来源于网络,如有侵权,请联系管理员删除。

标签: Java教程Java基础Java编程技巧面试题Java面试题