登录  /  注册
首页 > Java > java教程 > 正文

java 内部类,匿名内部类

高洛峰
发布: 2016-12-15 12:51:58
原创
1435人浏览过

java 内部类分为4种:

1)静态内部类:static修饰的类叫做静态类,把静态类放到一个类的内部,就叫做静态内部类

特点:可以访问外界:静态方法/静态属性,不能访问实例资源

案例:

import inner.Foo.Koo;//一定要把Koo静态内部类导入进来

public class Demo9 {

public static void main(String[] args) {

Koo koo = new Koo();

koo.add();

}

}

class Foo{

int a = 12;//实例变量

static int aa=16;

public static void show(){ System.out.println("静态的方法");}

//静态内部类

static class Koo{

public void add(){

// System.out.println(a); 静态内部类不能访问实例资源(变量)

System.out.println(aa);

show();//静态内部类可以访问外界的静态属性和方法

}

}

}

2)成员内部类:在一个类的内部,直接定义了一个不用static修饰的类,当创建成员内部类对象的时候,外部类要先创建出来。

特点:成员内部类,可以访问外界的属性和方法

案例:

import inner.Foo1.Koo1;

public class Demo10 {

public static void main(String[] args) {

//Koo1 koo1 = new Koo1();要创建成员内部类,则必须要先创建外部类对象

Foo1 foo1 = new Foo1();

//记住(笔试会考)

Koo1 koo1 = foo1.new Koo1();

koo1.show();

}

}

class Foo1{

int a =12;

static int aa = 16;

class Koo1{

void show(){

System.out.println(a+" , "+aa);

}

}

}

3)局部内部类:使用非常的少,特点在一个方法内定义一个类(企业开发中及其少用)

特点:局部内部类,在引用外界的变量,该变量必须要使用final修饰

案例:

public class Demo11 {

public static void main(String[] args) {

final int a = 12;

final int b = 13;

class Foo2{

int c = 16;

public int add(){

//在局部内部类中,引用外界的变量,则变量必须用final修饰

return a+b+c;

}

}

Foo2 foo2 = new Foo2();

System.out.println(foo2.add());

}

}

4)匿名内部类:对原来的类的一个继承

特点:跟接口/抽象类结合使用

eg  new 类名/接口名 {

重写方法

};

案例:

public class Demo1 {

public static void main(String[] args) {

 Koo koo = new Koo(){

// 可以重写方法

  public String toString() {

   return "生成了一个Koo的对象";

  }

// 在匿名内部类里面不可以创建新的方法  

//   public void show(){

//    System.out.println("liu");

//   }

 };

 System.out.println(koo);

//  koo.show();

}

}

class Koo{

}

更多java 内部类,匿名内部类 相关文章请关注PHP中文网!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号