网站到期忘记续费如何调整网站板块位置
文章目录
- 概要
 - 封装
 - 多态
 - 抽象类
 - 接口
 - 内部类
 - 为什么需要内部类
 
概要
面向对象是一种编程范式或设计哲学,它将软件系统设计为由多个对象组成,这些对象通过特定的方式相互作用
封装
将数据和操作数据的方法封装在一个类中,并通过访问修饰符控制对类内部数据的访问,常用访问修饰符有private、public、protected。
多态
多态(Polymorphism)是面向对象编程的一个核心特性,指的是同一个方法或对象在不同的情况下表现出不同的行为。简单来说,多态允许你通过父类或接口的引用来调用子类或实现类的对象方法,从而实现不同对象的行为表现。
抽象类
包含抽象方法的类,不能实例化,只能被继承
-  
定义:
抽象类是不能被实例化的类。它可以包含抽象方法(没有方法体的方法)和具体方法(有实现的方法) -  
用途
- 表示一种“is-a”关系,它可以包含共有属性和行为
 - 可以有构造函数、字段、已实现的方法和抽象方法。
 
 -  
继承
一个类只能继承一个抽象类,因为 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();}
} 
为什么需要内部类
主要是减少不必要的内文件,其次是更具有组织性,类之间更加紧凑,其次一定程度上可以减少内存消耗。但是更难维护了。
