美文网首页
Java基础(5)——内部类

Java基础(5)——内部类

作者: 让时间走12138 | 来源:发表于2020-03-29 13:28 被阅读0次

本节内容

1.内部类

2.匿名内部类

一、内部类

1.尽量一个文件里面定义一个类,需要在类的内部定义一个类,这种类就称为内部类
2.定义内部类的原因:希望封装对应的功能,这些功能可能不太希望直接暴露给外部
3.内部类是外部类的成员,内部类可以直接访问外部内的数据和方法,外部类无法调用内部类的相应数据。
4.内部类可以使用private,public,protected,final修饰符修饰,外部类只能使用public来修饰
5.普通内部类—属于对象,必须用对象来调用。静态内部类—属于类,必须使用类来调用,静态内部类无法调用非静态数据。
public class Car {
    private int Color;
    private int Wheels;
    public void start(){
       Wheels=4;
    Engine engine=  new  Engine();//内部使用内部类
    }
    public class Engine{
        public int oil;
      public Engine(){
          Wheels=5;
          start();
      }
     }
}
6.内部类的使用:如果是在内部的话,就像上述代码一样
Engine engine=  new  Engine();//内部使用内部类
但如果是在另外一个类调用这个内部类,就需要像以下一样
       Car bz=new Car();
       Car.Engine engine=bz.new Engine();//一般很少使用
7.调用静态内部类
 Car.Engine engine=new Car.Engine();

二、匿名内部类

1、如果需要多次使用一个对象,那么就直接创建一个对象(显示创建,显示对象)
  Worker xw=new Worker("小王");
      BuildHouse(xw);
     xw.setName("小李");
但如果只是使用一次这个对象,那不如使用匿名对象(没有名字的对象),如下:
BuildHouse(new Worker("张三"));
2.匿名类:没有名字的类,不显示创建这个类
BuildHouse(new MiniWorker("小工人"));
以上只是创建了一个匿名对象,以下才是创建一个匿名类
BuildHouse(new Worker("MiniWorker"){
        //匿名类的具体实现
        public int salary;
        public void  ShowMoney(){
            System.out.println(getName()+"工钱为100"+salary);
        }
        });
注:匿名内部类不能声明构造方法
3.使用匿名内部类必须满足:①这个类继承某个父类 ②这个类实现某个接口

相关文章

  • 回归Java基础,详解 Java 内部类

    回归Java基础,详解 Java 内部类

  • Java基础(5)——内部类

    本节内容1.内部类2.匿名内部类 一、内部类1.尽量一个文件里面定义一个类,需要在类的内部定义一个类,这种类就称为...

  • 在Alibaba广受喜爱的“Java突击宝典”简直太牛了

    0-1年:夯实基础 1.Java基础(Java异常分类及处理+Java反射+Java注解+Java内部类+Java...

  • Java 中的方法内部类

    Java 中的方法内部类 方法内部类就是内部类定义在外部类的方法中,方法内部类只在该方法的内部可见,即只在该方法内...

  • PHP转JAVA的记录

    Java 数组 内部类 内部类的创建:内部类可以对包内其他类隐藏想实现一个接口时, 不想新建类文件 内部类可以访问...

  • 2018-12-15

    Day08、java基础补充 内部类,代码块,静态导包1.内部类 1.1.内部类最大好处在于:能直接访问外部类的私...

  • java内部匿名类

    前言:java基础的编写类的时候,会觉得很匿名内部类很神秘.普通的java文件会被编译成class,那内部类和匿名...

  • 软帝学院:80道java基础部分面试题(一)

    11道java基础部分面试题 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相...

  • Java内部类

    Java内部类,简单来说就是将一个类定义在另一个类或者方法里面,主要分为成员内部类,局部内部类,匿名内部类和静态内...

  • [Java基础] 外部类, 内部类

    外部类 我们在创建类的时候,创建的 .java 文件(源文件)的文件名必须和我们要创建的类的名字一样。而这个我们创...

网友评论

      本文标题:Java基础(5)——内部类

      本文链接:https://www.haomeiwen.com/subject/oiiyuhtx.html