时间:2021-05-19
内部类的介绍
定义在另外一个类中的类,叫内部类
成员内部类
1..new 创建成员内部类必须先创建外部类的实例,然后通过.new 创建内部类的对象
2..this 可以通过外部类的类名.this去访问外部类的所有属性和方法。
匿名内部类
没有名字的类,创建类的同时,也会创建一个对象。
只需要用到一次的类,就可以使用匿名内部类
File file = new File("D:/cc.txt") { @Override public boolean delete() { System.out.println("是否删除y/n"); Scanner input = new Scanner(System.in); String str = input.next(); if (str.equals("y")) { return super.delete(); } System.out.println("删除失败"); return false; } }; file.delete(); }匿名对象
该对象只需要访问一次.
new Thread() { @Override public void run() { System.out.println("线程开始!"); try { Thread.sleep(2000); System.out.println("线程结束!"); } catch (Exception e) { e.printStackTrace(); } super.run(); } }.start();静态内部类
1.静态内部类只能访问外部类静态的方法和变量,不能访问非静态。
2.静态内部类可以不需要创建外部类的引用,而直接创建。
匿名内部类访问局部变量
内部类访问局部变量必须final,如果没有加,jdk1.8默认加上去了
当所使用的变量是在变的时候可以用下面的方法,也可以把下面的i在开始的时候定为静态的
下面介绍一下内部类的实现技巧
public static void main(String[] args) { Lam mLam = new Lam(); //第一种实现的方法 mLam.to(new Ligh() { @Override public void shin() { System.out.println("on的第一种方法"); } }); //第二种实现方法 class MyLam implements Ligh{ @Override public void shin() { System.out.println("第二种"); }} mLam.to(new MyLam()); }}interface Ligh { void shin();}class Lam { public void to(Ligh ligh) { ligh.shin(); System.out.println("on"); }}感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
java内部类分为:成员内部类、静态嵌套类、方法内部类、匿名内部类。在java的世界里,提供了匿名内部类语法,用于帮助大家简化代码,本文简要从接口,抽象类以及常
Java匿名内部类详解匿名内部类也就是没有名字的内部类正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写但使用匿名内部类还有个前提条件:必须继承
java匿名内部类:1:匿名内部类,匿名内部类也就是没有名字的内部类。2:匿名内部类的作用正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写。3
本文实例讲述了Java匿名类,匿名内部类。分享给大家供大家参考,具体如下:本文内容:内部类匿名类首发日期:2018-03-25内部类:在一个类中定义另一个类,这
匿名内部类:1、匿名内部类其实就是内部类的简写格式。2、定义匿名内部类的前提:内部类必须是继承一个类或者实现接口。3、匿名内部类的格式:new父类或者接口(){