当前位置: 首页 > wzjs >正文

南宁网站建设云尚网络如何接单做网站

南宁网站建设云尚网络,如何接单做网站,新网,蒲城网站建设目录 Java 中不同类型的类详解一、基础类类型1. 普通类(Concrete Class)2. 抽象类(Abstract Class)3. 接口(Interface)4. 枚举类(Enum Class) 二、嵌套类与特殊类5. 内部类&#xff…

目录

  • Java 中不同类型的类详解
    • 一、基础类类型
      • 1. 普通类(Concrete Class)
      • 2. 抽象类(Abstract Class)
      • 3. 接口(Interface)
      • 4. 枚举类(Enum Class)
    • 二、嵌套类与特殊类
      • 5. 内部类(Inner Class)
      • 6. 单例类(Singleton Class)
      • 7. 记录类(Record Class)(Java 14+)
    • 三、高级类与设计模式相关类
      • 8. 密封类(Sealed Class)(Java 17+)
      • 9. 功能接口(Functional Interface)
      • 10. 工具类(Utility Class)
      • 11. 不可变类(Immutable Class)
      • 12. 代理类(Proxy Class)
    • 四、其他重要概念
      • 13. POJO/Java Bean
      • 14. 注解类型(Annotation Type)
    • 总结表格:类类型对比

Java 中不同类型的类详解


一、基础类类型

1. 普通类(Concrete Class)

  • 定义:使用 class 声明,可直接实例化的类。

  • 特点

    • 包含属性、方法、构造方法。
    • 默认可被继承(除非用 final 修饰)。
  • 示例

    public class Animal {private String name;public Animal(String name) { this.name = name; }public void eat() { System.out.println(name + " is eating."); }
    }
    
  • 场景:具体业务逻辑的实现。


2. 抽象类(Abstract Class)

  • 定义:用 abstract 修饰,不可直接实例化
  • 特点
    • 可包含抽象方法(无实现)和具体方法。
    • 子类必须实现所有抽象方法(除非子类也是抽象类)。
  • 示例
    public abstract class Shape {public abstract double calculateArea();public void printInfo() { System.out.println("This is a shape."); }
    }
    
  • 场景:定义通用模板,强制子类实现特定逻辑。

3. 接口(Interface)

  • 定义:用 interface 声明,定义行为规范。
  • 特点
    • Java 8+ 支持默认方法(default)、静态方法(static)。
    • Java 9+ 支持私有方法。
    • 类通过 implements 实现接口(支持多继承)。
  • 示例
    public interface Drawable {void draw();default void setColor(String color) { System.out.println("Color: " + color); }
    }
    
  • 场景:多继承行为规范(如 ComparableRunnable)。

4. 枚举类(Enum Class)

  • 定义:用 enum 声明,表示固定常量集合。
  • 特点
    • 每个常量是枚举类的实例。
    • 可包含属性、方法、构造方法(必须 private)。
  • 示例
    public enum Day {MONDAY("星期一"), TUESDAY("星期二");private String chineseName;private Day(String name) { this.chineseName = name; }public String getChineseName() { return chineseName; }
    }
    
  • 场景:状态、类型等固定常量定义。

二、嵌套类与特殊类

5. 内部类(Inner Class)

  • 定义:定义在另一个类内部的类,分为四种类型:
    • 成员内部类(非静态):
      public class Outer {private int value = 10;public class Inner { public void printValue() { System.out.println(value); } }
      }
      
    • 静态内部类
      public class Outer {private static int count = 5;public static class StaticInner { public void printCount() { System.out.println(count); } }
      }
      
    • 局部内部类(定义在方法内):
      public void someMethod() {class LocalClass { /* ... */ }
      }
      
    • 匿名内部类(无类名,直接实现接口或继承类):
      Runnable task = new Runnable() { @Override public void run() { System.out.println("Running!"); } };
      
  • 场景:封装仅外部类使用的逻辑,或简化回调。

6. 单例类(Singleton Class)

  • 定义:确保全局唯一实例的类。
  • 实现方式
    • 私有构造方法 + 静态实例 + 静态获取方法。
    • 枚举实现(推荐,线程安全且防反射)。
  • 示例
    public class Singleton {private static Singleton instance;private Singleton() {}public static synchronized Singleton getInstance() {if (instance == null) { instance = new Singleton(); }return instance;}
    }
    
  • 场景:配置管理、数据库连接池等需全局唯一实例的场景。

7. 记录类(Record Class)(Java 14+)

  • 定义:用 record 声明,不可变数据载体。
  • 特点
    • 自动生成 equals()hashCode()toString()
    • 所有字段默认为 final
  • 示例
    public record Person(String name, int age) {}
    
  • 场景:简化 DTO(数据传输对象)、不可变数据模型。

三、高级类与设计模式相关类

8. 密封类(Sealed Class)(Java 17+)

  • 定义:用 sealed 声明,限制继承范围。
  • 特点
    • 使用 permits 指定允许的子类。
    • 子类必须为 finalsealednon-sealed
  • 示例
    public abstract sealed class Shape permits Circle, Square {}
    public final class Circle extends Shape {}
    public non-sealed class Square extends Shape {}
    
  • 场景:固定类型层次结构(如表达式树节点)。

9. 功能接口(Functional Interface)

  • 定义:用 @FunctionalInterface 标记的接口,仅含一个抽象方法。
  • 特点
    • 支持 Lambda 表达式和方法引用。
    • 可包含默认方法和静态方法。
  • 示例
    @FunctionalInterface
    public interface Calculator { int calculate(int a, int b); }
    Calculator add = (a, b) -> a + b;
    
  • 场景:函数式编程(如 RunnableComparator)。

10. 工具类(Utility Class)

  • 定义:通过私有构造方法 + 静态方法实现。
  • 特点
    • 禁止实例化(私有构造方法)。
    • 所有方法为 static,无状态。
  • 示例
    public final class StringUtils {private StringUtils() {}public static boolean isEmpty(String str) { return str == null || str.trim().isEmpty(); }
    }
    
  • 场景:通用工具方法(如 MathCollections)。

11. 不可变类(Immutable Class)

  • 定义:对象状态创建后不可修改。
  • 实现
    • 所有字段 private final
    • 不提供 setter,返回深拷贝对象。
  • 示例
    public final class ImmutablePoint {private final int x, y;public ImmutablePoint(int x, int y) { this.x = x; this.y = y; }public int getX() { return x; }public int getY() { return y; }
    }
    
  • 场景:线程安全数据对象(如 StringLocalDate)。

12. 代理类(Proxy Class)

  • 定义:通过 Proxy 动态生成的类,拦截方法调用。
  • 特点
    • 基于接口动态创建。
    • 常用于 AOP(日志、事务管理)。
  • 示例
    Service proxy = (Service) Proxy.newProxyInstance(Service.class.getClassLoader(),new Class[] { Service.class },(proxy, method, args) -> {System.out.println("Before method");return method.invoke(target, args);}
    );
    
  • 场景:动态代理、远程方法调用(RMI)。

四、其他重要概念

13. POJO/Java Bean

  • 定义:普通类的子集,用于数据模型。
  • 特点
    • 包含无参构造方法 + getter/setter
    • 无业务逻辑,仅用于数据传输。
  • 示例
    public class User {private String name;public User() {}public String getName() { return name; }public void setName(String name) { this.name = name; }
    }
    

14. 注解类型(Annotation Type)

  • 定义:用 @interface 声明,标记元数据。
  • 示例
    public @interface MyAnnotation {String value() default "";int priority() default 0;
    }
    
  • 场景:框架标记(如 @Override@SpringBootApplication)。

总结表格:类类型对比

类型核心特点典型应用场景
普通类直接实例化,完整实现具体业务逻辑
抽象类部分实现,强制子类扩展通用模板设计
接口多继承行为规范,支持默认方法跨类共享行为(如排序、线程)
枚举类固定常量集合,实例化控制状态、类型定义
内部类封装外部类相关逻辑回调、事件处理
单例类全局唯一实例资源管理(如配置、连接池)
记录类(Java 14+)不可变数据载体,自动生成方法DTO、简化数据模型
密封类(Java 17+)限制继承范围固定类型层次结构
功能接口单一抽象方法,支持 Lambda函数式编程
工具类静态方法集合,禁止实例化通用工具方法
不可变类线程安全,状态不可变共享数据对象
代理类动态生成,拦截方法调用AOP、远程调用


文章转载自:

http://iAc2ZQKR.Lywpd.cn
http://xohVzmZf.Lywpd.cn
http://zCmJVNnj.Lywpd.cn
http://ImHMQju6.Lywpd.cn
http://JsIZ9kCj.Lywpd.cn
http://znAPC3MP.Lywpd.cn
http://PnKl1fki.Lywpd.cn
http://w0zZAJEQ.Lywpd.cn
http://aZ3N4ioU.Lywpd.cn
http://kCl9JHcG.Lywpd.cn
http://yJ3Sr0lN.Lywpd.cn
http://TZs9Dt1T.Lywpd.cn
http://5vpi9Q9u.Lywpd.cn
http://Wep8ih1F.Lywpd.cn
http://jmls39mD.Lywpd.cn
http://Kom7A7MY.Lywpd.cn
http://mRGGS4GX.Lywpd.cn
http://ATti8xfm.Lywpd.cn
http://arCoGctQ.Lywpd.cn
http://bLYlW91z.Lywpd.cn
http://bOJSKf8h.Lywpd.cn
http://yJ1hyi7b.Lywpd.cn
http://kb7JdGf6.Lywpd.cn
http://Q3Q55H03.Lywpd.cn
http://SOJQIEUs.Lywpd.cn
http://ENV3YP0d.Lywpd.cn
http://FHlu82gM.Lywpd.cn
http://Qr3ZA2fD.Lywpd.cn
http://lf1ZcqvM.Lywpd.cn
http://rne7n4zM.Lywpd.cn
http://www.dtcms.com/wzjs/737449.html

相关文章:

  • 自己做一个音乐网站怎么做重庆定制型网站建设
  • 网站制作需要多少费用制作网站软件免费
  • 重庆网站空间键词排名wordpress 集赞系统
  • 做网站怎么做wordpress 后台 模板
  • 怎么建设网站石家庄网站托管公司
  • 新网站seo技术wordpress全是博客
  • 化妆品销售网站的源代码腾讯云服务器学生
  • 上海个人网站备案wordpress post模板
  • 洛阳疾控最新通告今天谷歌搜索优化
  • 网站建设与网页设计心得体会wordpress 大型站
  • 商城网站做推广方案南昌网站制作代理商
  • 网站制作应用搭建个人主页
  • 中山 环保 骏域网站建设专家销客多分销小程序价格
  • 网站优化推广哪家好深喘旋磨做紧夹断妖精网站
  • 大网站服务器维护费用怎么制作ppt 教程
  • 企业网站建设费用属于什么科目平台推广方案模板
  • python手机编程软件长沙网站优化指导
  • 新河网站快排seo建筑网课平台
  • 山东 网站建设 公司太原市住房与城乡建设厅网站
  • 南阳理工网站建设私人可以有官方网址吗
  • 深圳网站建设 宝华大厦泰兴网页定制
  • 网站后台策划书2024年还会封城吗
  • 开网站需要哪些程序莆田网站建设方案优化
  • 什么样的资质做电子商务网站python 网站建设
  • 广东装饰公司网站建设国家企业信用信息查询系统
  • 建设银行 福州招聘网站湖北seo服务
  • 贵港市网站建设搭建企业网站公司
  • 专门做搞笑视频的网站遮罩层怎么做网页
  • 建立用模板建立网站html超链接
  • 门户网站优化报价江苏省网站建设哪家好