Java基础之内部类(最简单最详细)

内部类概述

在Java中,允许一个类定义在另一个类的内部,前者称为内部类(寄生类),后者称为外部类(宿主类)

作用

内部类提供了更好的封装性

内部类可以用private protected等修饰,可以有更安全的权限控制。

分类

内部类分为:

静态内部类(static修饰)

成员内部类(无static修饰)

局部内部类

匿名内部类

静态内部类

类的所有成员,都可以在静态内部类中定义,权限可以任意

创建静态内部类对象:

内部类全名: 外部类名.内部类名

成员内部类

低版本的JDK(8、11)不支持静态成员

创建成员内部类的对象:

成员内部类和成员方法一样,都需要对象去调用

创建成员内部类对象,需要先创建外部类对象

静态内部类和成员内部类的区别

静态内部类只能访问外部类的静态成员

成员内部类可以访问外部类的任意成员

public class A {
    //静态内部类
    public static class B{}

    //成员内部类
    public class C{}
}
public static void main(String[] args) {
        //创建静态内部类对象
        A.B b = new A.B();

        //创建成员内部类对象
        A.C c = new A().new C();
    }

巩固练习

class Outer{
    int a = 666;
        class Inner{
            int a = 66;
            public void show(){
                int a = 6;
                System.out.println(a);//6
                System.out.println(this.a);//66
                System.out.println(Outer.this.a);//666
            }
        }
}

局部内部类

定义在方法里面的类叫做局部内部类

局部内部类只能在方法中使用,局部内部类没有权限可言

匿名内部类(重点)

匿名内部类是指没有名字的类,省略了定义类的格式

使用前提:需要存在一个接口或抽象类

使用匿名内部类简化类的定义,既是定义类,又是创建对象,只不过定义出来的类没有名字。

作用:方便创建接口或抽象类的子类对象,最终目的是为了简化代码的编写。

实际开发中,通常使用匿名内部类作为方法参数传递

//抽象类中定义一个抽象方法
abstract class Animals{
    abstract void eat();
}
//使用原始方式,继承并重写
class Cat extends Animals{

    @Override
    void eat() {
        System.out.println("吃鱼");
    }
}
public static void main(String[] args) {
        //原始方式
        Cat cat = new Cat();
        cat.eat();

        //使用匿名内部类
        Animals animals = new Animals(){
            @Override
            void eat() {
                System.out.println("吃肉");
            }
        };
        animals.eat();
    }
}

在这里插入图片描述
原本抽象类是不可以创建对象的,但是利用这种方式,我们创建出了抽象类的子类对象,方便代码编写。

最后

如果你对本文有疑问,你可以在文章下方对我留言,敬请指正,对于每个留言我都会认真查看。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 致远OA是一款企业办公自动化软件,提供了众多的功能和工具,可以帮助企业高效地管理办公流程。为了满足企业特定的需求,致远OA允许二次开发,使得企业可以根据自己的需求进行定制化。 针对最新、最详细的致远OA二次开发教程,以下是一些建议: 1. 学习开发基础知识:在开始致远OA二次开发之前,建议先掌握一些基础的开发知识,比如数据库操作、编程语言、Web开发等。 2. 了解致远OA架构:在进行OA二次开发之前,最好先了解致远OA的整体架构和模块之间的关系,这样可以更好地理解自己的开发需求,并且快速定位到相应的模块。 3. 使用致远OA提供的二次开发工具:致远OA提供了一些二次开发工具,比如OA Studio、OA SDK等,这些工具能够帮助开发人员快速搭建和定制企业的OA系统。 4. 参考文档和教程:致远OA官方文档和教程提供了很多二次开发的指导和示例,可以作为学习和参考的资料。 5. 实践和练习:通过实践和练习,将所学的开发知识应用到具体的项目中,可以更好地掌握致远OA的二次开发技巧和方法。 总之,致远OA二次开发是一个相对复杂的过程,需要具备一定的开发知识和经验。通过学习基础知识、了解OA架构、使用开发工具、参考文档和教程以及实践练习,可以帮助开发人员更好地进行二次开发,并根据企业的需求进行定制化。 ### 回答2: 致远OA是一款常用的办公自动化软件,通过二次开发可以为企业定制化开发各种功能。下面是关于致远OA二次开发教程的最新最详细信息(截至2021年): 1. 学习基础知识:致远OA二次开发基于Java语言开发,因此需要熟悉Java语言的基本语法和开发框架,如Spring、MyBatis等。同时也需要了解数据库相关知识,如MySQL、Oracle等。 2. 获取开发文档:致远OA官方提供了详细的开发文档,包含API接口、数据表结构等内容。开发者可以根据文档来了解软件的内部机制和可操作的对象。 3. 配置开发环境:搭建开发环境是二次开发的前提。需要安装Java开发工具包(JDK)、开发工具(如Eclipse、IntelliJ IDEA)以及相应的数据库。 4. 分析需求:在进行二次开发之前,需要与企业相关部门沟通,了解他们的具体需求。根据需求分析,确定开发方向和功能点。 5. 编写代码:根据需求进行具体的开发工作。可以使用Java语言、多种开发框架来实现功能。其中,涉及到数据库的操作可以通过MyBatis等框架来简化。 6. 调试测试:开发完成后,需要进行调试和测试。在本地环境中测试功能的正确性和稳定性,确保没有漏洞和错误。 7. 部署上线:当功能测试通过后,将代码部署到生产环境中并进行上线。在上线之前,需要备份数据,确保数据的安全性。 8. 维护和优化:二次开发上线后,可能会出现一些问题或用户的反馈。需要及时进行维护和优化,改进用户体验。 总之,致远OA二次开发需要具备Java编程和数据库知识,并按照需求进行开发、测试和部署。通过持续的维护和优化,可以为企业提供更好的办公自动化解决方案。 ### 回答3: 《致远OA二次开发教程-最新最详细2021》是一本指导人们如何进行致远OA系统二次开发的教程。致远OA是一套企业管理软件,能够帮助企业实现办公自动化和企业资源规划,为企业提供高效的管理方式。 这本教程以最新的版本为基础详细介绍了致远OA系统的二次开发过程。首先,它会向读者介绍致远OA系统的基本架构,包括前端和后端的技术栈,以及常用的开发工具和软件。 教程的下一部分会教授读者如何使用致远OA系统的开发接口,包括API和插件机制。读者将学习如何通过API与致远OA系统进行数据交互,以及如何使用插件机制扩展系统的功能。这些知识将帮助开发者根据自己的需求进行个性化的定制和开发。 教程还将介绍一些常用的二次开发技巧和方法,如如何修改致远OA系统的界面样式、如何添加新的功能模块、如何优化系统的性能等。通过这些技巧和方法,开发者可以更好地满足企业的需求,并提高系统的稳定性和用户体验。 此外,教程还提供了大量的实例和案例,帮助读者更好地理解和应用所学知识。这些实例涵盖了各种不同的开发场景,从简单的功能扩展到复杂的系统集成,读者可以根据自己的实际情况选择合适的实例进行学习。 总之,《致远OA二次开发教程-最新最详细2021》是一本帮助开发者学习如何进行致远OA系统二次开发的权威指南。无论是初学者还是有一定经验的开发者,都可以从中获得宝贵的知识和经验,提高自己的开发水平。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值