Java类的第5大成员_内部类

来源:互联网 发布:java代码重用 编辑:程序博客网 时间:2024/04/29 12:07
   内部类具有和类一样的特性,都有属性、方法、构造器
   内部类分为:①成员内部类、②局部内部类
   内部类我们主要研究成员内部类,主要掌握以下三点即可:
     ①如何创建内部类的对象(内部类又分为静态的和非静态的)
     ②如何区分调用内部类、外部类的变量

     ③局部内部类的使用

示例1:一下示例为①和②的示例,代码如下

public class InnerClassTest {public static void main(String[] args) {//创建静态内部类对象的方法(匿名外部类对象.静态内部类名称)Person.Dog dog = new Person.Dog();//创建非静态内部类的方法Person p = new Person();//先有外部类的对象Person.Bird bird = p.new Bird();//再有外部类的对象new出内部类的对象bird.info();bird.setName("杜鹃");}}class Person {String name = "黎明";int id;//成员内部类(在类里面的)class Bird {String name = "黄鹂";int id;public void info() {show();//内部类可以直接调用外部类的方法}//@②public void setName(String name) {System.out.println(name);//参数nameSystem.out.println(this.name);//Bird类name属性System.out.println(Person.this.name);//Person类的name属性}}//静态成员内部类static class Dog {}public void show() {System.out.println("我是person里面的show()方法!");}public void method() {//局部内部类(在方法里面的)class Animal {}}}

以上就是如何创建内部类的对象和如何区分调用内部类和外部类的变量的,至于局部内部类的使用如下代码所示:

class Number {//常常使用一个方法,使其返回值为某个类或者接口的对象,而这个类在方法内部创建public Comparable getComparable() {//创建一个实现Comparable接口的类:局部内部类class MyComparable implements Comparable {@Overridepublic int compareTo(Object o) {return 0;}}//返回一个实现类的对象return new MyComparable();}//以下是返回匿名内部类的使用情况public Comparable getComparableOther() {//直接返回一个匿名内部类对象return new Comparable(){@Overridepublic int compareTo(Object o) {return 0;}};//注意分号不能少}}



原创粉丝点击