package com.atguigu.java; /* * 类的第5个成员:内部类 * 1.相当于说,我们可以在类的内部再定义类。外面的类:外部类。里面的定义的类:内部类。 * 2.内部类的分类:成员内部类(声明在类内部且方法外的)VS局部内部类(声明在类的方法里) * 3.成员内部类: * 3.1是外部类的一个成员:①可以有修饰符(4个)②static final * 3.2具体类的特点:①abstract ②还可以在其内部定义属性、方法、构造器 * * 4.局部内部类: * 5.关于内部类,掌握三点: * ①如何创建成员内部类的对象(如:创建Bird类和Dog类的对象) * ②如何区分调用外部类、内部类的变量(尤其是变量重名时) * ③局部内部类的使用 */ public class TestInnerClass { public static void main(String[] args) { //创建静态内部类的对象:可以直接通过外部类调用静态内部类的构造器 Person111.Dog d = new Person111.Dog(); //Person111.Bird b = new Person111.Bird(); //创建非静态的内部类的对象:必须先创建外部类的对象,通过外部类的对象调用内部类的构造器 Person111 p = new Person111(); Person111.Bird b = p.new Bird();//注意不是new p.Bird(); b.info(); b.setName("老大"); } } class Person111{ String name = "老二"; int age; // 成员内部类(非static) class Bird{//成员内部类 String name = "老三"; int age; public Bird(){ } public void setName(String name){ System.out.println(name);//老大 System.out.println(this.name);//老三 System.out.println(Person111.this.name);//老二 } public void info(){ show(); } } //成员内部类(静态内部类) public static class Dog{ } public void show(){ System.out.println("我是成员内部类"); } public void method1(){ class A{//局部内部类 } } } /* * 关于内部类的使用 */ class OuterClass{ //局部内部类 //如下的使用方式较少 public void method1(){ class InnerClass{ } } //常常使用一个方法,使其返回值为某个类或接口的对象。而这个类或接口在方法内部创建 //使用方式一 public Comparable getComparable(){ //1.创建一个实现Comparable接口的类 class MyComparable implements Comparable{ @Override public int compareTo(java.lang.Object o) { return 0; } } //2.返回一个实现类的对象 return new MyComparable(); } //使用方式二 public Comparable getComparable1(){ //返回一个实现Comparable接口的匿名内部类的对象 return new Comparable() { @Override public int compareTo(java.lang.Object o) { // TODO Auto-generated method stub return 0; } }; } }
相关推荐
Handler对象中使用匿名内部类或非静态内部类正确地释放消息避免内存泄漏或增加Native内存,在Android中,Handler对象通常会被用来在主线程(UI线程)中处理消息,以更新UI界面。当我们在Handler对象中使用匿名内部类...
1.接口-简介 2.接口-作用 3.接口-定义方式 4.接口-实现 5.接口-与抽象类之区别 6.接口-应用示例(设计模式...内部类-局部内部类 12.内部类-匿名内部类 13.内部类-静态内部类 14.综述
Java内部类是Java言语的一个很重要的概念,《Java编程思想》花了很大的篇幅来讲述这个概念。但是我们在实践中很少用到它,虽然我们在很多时候会被动的使用到它,但它仍然像一个幕后英雄一样,不为我们所知,不为我们...
内部类分类
java 内部类 实例内部类 局部内部类 匿名类 静态内部类 实例代码
java 匿名内部类的使用规范 java 匿名内部类的使用规范 java 匿名内部类的使用规范
Java内部类Java内部类Java内部类Java内部类Java内部类Java内部类Java内部类
相关android开发中内部类 匿名内部类 内部接口 对比说明
实验报告8++内部类与异常类
java 成员内部类使用 内部匿名类 方法参数匿名类 方法匿名类
成员内部类、局部内部类、静态内部类、匿名内部类
主要讲述了JAVA中内部类和匿名内部类的相关问题。
java基础第七章内部类与异常类.doc
java的内部类
反射私有内部类的例子 反射私有内部类的例子反射私有内部类的例子
- 不同类型的内部类(静态内部类、成员内部类、局部内部类和匿名内部类)的区别和用法 - 内部类的优缺点以及使用场景 这些目标将帮助你理解和掌握内部类的概念,并能够在适当的时候使用内部类来解决问题...
java内部类详解
java 利用反射获取内部类静态成员变量的值操作.docx
定义在一个类内部的类叫内部类,包含内部类的类称为外部类。内部类可以声明public、protected、private等访问限制,可以声明为abstract的供其他内部类或外部类继承与扩展,或者声明为static、final的,也可以实现...
内部类是指在一个外部类的内部再定义一个类。类名不需要和文件夹相同。内部类可以是静态static的,也可用public,default,protected和private修饰。(而外部顶级类即类名和文件名相同的只能使用public和default)。