您的位置:首页 > 文旅 > 旅游 > 南昌seo排名方案_ui界面设计培训班_网络推广营销方式_住房和城乡建设部

南昌seo排名方案_ui界面设计培训班_网络推广营销方式_住房和城乡建设部

2025/5/10 11:14:05 来源:https://blog.csdn.net/qq_35010942/article/details/144316309  浏览:    关键词:南昌seo排名方案_ui界面设计培训班_网络推广营销方式_住房和城乡建设部
南昌seo排名方案_ui界面设计培训班_网络推广营销方式_住房和城乡建设部

文章目录

    • 概要
    • 封装
    • 多态
    • 抽象类
    • 接口
    • 内部类
      • 为什么需要内部类

概要

面向对象是一种编程范式或设计哲学,它将软件系统设计为由多个对象组成,这些对象通过特定的方式相互作用

封装

将数据和操作数据的方法封装在一个类中,并通过访问修饰符控制对类内部数据的访问,常用访问修饰符有private、public、protected。

多态

多态(Polymorphism)是面向对象编程的一个核心特性,指的是同一个方法或对象在不同的情况下表现出不同的行为。简单来说,多态允许你通过父类或接口的引用来调用子类或实现类的对象方法,从而实现不同对象的行为表现。

抽象类

包含抽象方法的类,不能实例化,只能被继承

  • 定义:
    抽象类是不能被实例化的类。它可以包含抽象方法(没有方法体的方法)和具体方法(有实现的方法)

  • 用途

    1. 表示一种“is-a”关系,它可以包含共有属性和行为
    2. 可以有构造函数、字段、已实现的方法和抽象方法。
  • 继承
    一个类只能继承一个抽象类,因为 Java 不支持多重继承。

  • 适用场景
    当有一些通用的方法实现或者需要维护一些相关的状态时。

    abstract class Animal {abstract void makeSound(); // 抽象方法void sleep() { // 具体方法System.out.println("Sleeping...");}
    }

接口

定义一组方法,但不提供实现,通过关键字implements来实现接口

  • 定义
    接口是一个完全抽象的类结构。它只包含抽象方法(Java 8以后可以包含默认方法和静态方法)

  • 什么Java的默认方法
    是 Java 8 引入的一种新特性,允许在接口中为方法提供默认实现,提供增强功能的同时不会破坏默认实现。

  • 用途
    表示一种“can-do”关系,定义行为但不实现任何行为。默认情况下,接口中的方法是 public 和 abstract

  • 实现
    一个类可以实现多个接口,弥补Java中多继承的不足。

  • 适用场景
    当需要不同类实现相同的方法而无需共享行为或状态

主要区别
在这里插入图片描述

内部类

  • 成员内部类
class OuterClass {private String outerField = "Outer field";class InnerClass {void display() {System.out.println(outerField); // 访问外部类的私有成员}}void createInnerClass() {InnerClass inner = new InnerClass();inner.display();}
}public class Main {public static void main(String[] args) {OuterClass outer = new OuterClass();outer.createInnerClass();}
}
  • 静态内部类
class OuterClass {private static String staticField = "Static field";static class StaticInnerClass {void display() {System.out.println(staticField); // 只能访问外部类的静态成员}}void createStaticInnerClass() {StaticInnerClass inner = new StaticInnerClass();inner.display();}
}public class Main {public static void main(String[] args) {OuterClass.StaticInnerClass inner = new OuterClass.StaticInnerClass();inner.display();}
}
  • 匿名内部类
interface MyInterface {void display();
}public class Main {public static void main(String[] args) {MyInterface obj = new MyInterface() {@Overridepublic void display() {System.out.println("This is an anonymous inner class.");}};obj.display();}
}

为什么需要内部类

主要是减少不必要的内文件,其次是更具有组织性,类之间更加紧凑,其次一定程度上可以减少内存消耗。但是更难维护了。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com