java外部类和内部类

以下内容截取自java内部类使用方法

实例内部类(成员内部类)

1.成员内部类可以等同看做成员变量
2.成员内部类不能有静态声明
3.成员内部类可以访问外部类所有的数据
(内部类直接为class innerClass)

OuterClass outerClass = new OuterClass();
InnerClass innerClass = outerClass.new InnerClass();

静态内部类:

1.静态内部类可以等同看做静态变量
2.内部类的重要的作用:可以访问外部类中的私有的属性
3.静态内部类可以直接访问外部类的静态数据,无法直接访问成员变量
(静态内部类static class InnerClass,构造内部类的对象 需要通过 外部对象 调用内部构造函数,相当于外部对象的属性)

//创建外部类对象
OuterClass.InnerClass.m3();

//执行m4方法
InnerClass innerClass = new OuterClass.InnerClass();
innerClass.m4();

匿名内部类:

指类没有名字,在内部没有class的new对象,class写在同文件主类的外面,竟然还可以写接口,学到了~

package Algorithm.one;

/**
 * @Author: ym
 * @Date 2021/10/26 20:44
 */
public class OuterClass {

    public static void array(UserService u){//②
        u.logout();
    }

    public static void main(String[] args){
        //调用array方法
        //匿名内部类 new UserServiceIml()
        array(new UserServiceIml());//①
    }
}
    interface UserService{
        //退出系统
        void logout();
    }
    class UserServiceIml implements UserService{

        public void logout() {
            System.out.println("系统退出了"); //
        }

    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值