Bug猫学习史#1:面向对象

在Java编程中,掌握几个核心概念对深入学习至关重要:类属性建议采用包装类以提升灵活性;建造者模式中this关键字能有效简化对象构建过程;static关键字涉及类的加载机制;接口默认使用public修饰符并支持默认方法实现;多态特性结合instanceof操作符可实现类型安全检查;此外,不同代码块的执行顺序直接影响程序初始化流程。这些基础知识点构成了Java面向对象编程的重要支柱。


1.类的属性

在创建类时,属性和方法返回值类型 建议使用包装类(Boolean、Character、Integer等),引用属性默认为null;

基础类型有默认值,不允许为null值,如果确定不会有null情况,基础类型无对象创建故性能更好,但如果不是高频环境,那点性能忽略不计,更应该让代码有灵活性。

2.this使用

目前常用于建筑者模式中

java 复制代码
public class Person {

    private String name;
    private String password;
    private Integer age;
    private Integer sex;

    private Person(Builder builder) {
        this.name = builder.name;
        this.password = builder.password;
        this.age = builder.age;
        this.sex = builder.sex;
    }

    public static Builder builder() {
        return new Builder();
    }

    public static class Builder {
        private String name;
        private String password;
        private Integer age;
        private Integer sex;


        public Builder name(String name) {
            this.name = name;
            return this;
        }

        public Builder password(String password) {
            this.password = password;
            return this;
        }

        public Builder age(Integer age) {
            this.age = age;
            return this;
        }

        public Builder sex(Integer sex) {
            this.sex = sex;
            return this;
        }

        public Person build() {
            return new Person(this);
        }
    }
    
}

3.static关键字

在类里面的静态成员在类加载时初始化;好比在房间开门时,将咖啡机也搬进房间,但是静态方法初始化不等于自动运行,还需调用触发手动去接咖啡;注意如果是静态初始化快会在首次类加载时自动运行代码

4.可变参数

5.接口

下面展示接口的默认修饰符,如果将来添加功能时,该功能几行代码就搞定了,就没必要再定义抽象方法再重写,可以直接定义默认方法或静态方法。

6.多态

多态是高扩展性的体现;在父类 = new 子类中,成员变量优先从父类获取,成员方法优先从子类获取。

使用instanceof关键字可以判断对象是否属于某个类

7.权限修饰符

8.代码块

执行优先级:静态代码块(只一次)> 构造代码块 > 构造器

相关推荐
Joy T16 分钟前
Agent 确定性上下文设计:从 Prompt 参数注入到能力分层
java·开发语言·微服务·架构·prompt·agent context
m0_587383003 小时前
广州 24 小时自助健身房解决方案技术实现与实战指南
java·spring·小程序·架构·需求分析
·云扬·4 小时前
Prompt 工程与安全:从 System 设计到注入防御
java·人工智能·安全·ai·prompt
代码不停4 小时前
自动化测试(java)
java·开发语言·selenium·自动化
鬼手点金6 小时前
opencode-rules 插件
java·开发语言·前端·人工智能·chrome·git·github
paopaokaka_luck7 小时前
滑雪场管理系统(AI智能助手流式对话,ECharts 运营数据分析、教练、雪具与场地一体化预约,钱包支付退款、订单核销与服务评价)
java·人工智能·spring boot·网络协议·数据分析·echarts
Wang's Blog8 小时前
Java 项目实战: 交友项目 - Dubbo 的内部结构与一次调用的完整链路
java·dubbo
Wang's Blog8 小时前
Java 项目实战: 交友项目 - Dubbo 入门引导
java·dubbo·交友
蜗牛互联网8 小时前
Python Agent工具调用的白名单、参数校验与审批门禁
java·服务器·前端·人工智能·后端·python
SL_staff9 小时前
当规则引擎开始‘懂业务’:JVS-Rules金融风控四大原生能力拆解
java·python·全栈