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

阶段二:面向对象编程

目标:理解类和对象,掌握面向对象的基本概念(封装、继承、多态)。
1. 类和对象
  • 类的定义与对象的创建
  • 属性和方法

代码示例:

// 定义一个类
class Dog {
    // 属性
    String breed;
    int age;

    // 方法
    void bark() {
        System.out.println("汪汪!");
    }
}

// 创建对象
public class Main {
    public static void main(String[] args) {
        Dog myDog = new Dog();  // 创建 Dog 类的对象
        myDog.breed = "泰迪";    // 设置属性
        myDog.age = 2;
        myDog.bark();           // 调用方法
    }
}
2. 构造方法
  • 无参构造方法
  • 有参构造方法

代码示例:

class Cat {
    String name;
    int age;

    // 无参构造方法
    Cat() {
        name = "无名";
        age = 0;
    }

    // 有参构造方法
    Cat(String name, int age) {
        this.name = name;
        this.age = age;
    }
}
3. 继承
  • 子类继承父类
  • super 关键字

代码示例:

// 父类
class Animal {
    void eat() {
        System.out.println("动物在吃东西");
    }
}

// 子类
class Dog extends Animal {  // Dog 继承自 Animal
    void bark() {
        System.out.println("汪汪!");
    }
}

public class Main {
    public static void main(String[] args) {
        Dog myDog = new Dog();
        myDog.eat();  // 调用父类方法
        myDog.bark(); // 调用子类方法
    }
}
4. 多态
  • 方法重写
  • 向上转型

代码示例:

class Animal {
    void sound() {
        System.out.println("动物发出声音");
    }
}

class Dog extends Animal {
    @Override
    void sound() {  // 方法重写
        System.out.println("汪汪!");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal myAnimal = new Dog();  // 向上转型
        myAnimal.sound();  // 调用重写后的方法
    }
}

 

http://www.dtcms.com/a/91898.html

相关文章:

  • 生活电子常识——cmd不能使用anaconda的python环境,导致输入python打开应用商店
  • 文件上传绕过的小点总结(6)
  • Linux之 权限提升(Linux Privilege Escalation)
  • 进程间通信 命名管道 ─── Linux第24课
  • 同旺科技USB to SPI 适配器 ---- 指令之间延时功能
  • SpringBoot分布式项目实战:观察者模式的高阶应用与避坑指南
  • JWT应用样例
  • 【Android】Activity 生命周期(详细介绍)
  • Mac 常用命令
  • 《Git江湖录·分支篇》
  • 二叉树进阶
  • 【leetcode刷题日记】lc.560-和为 K 的子数组
  • 深入解析 JVM 内存区域及核心概念
  • 掌握Linux项目自动化构建:从零入门make与Makefile
  • 基于LLM的Agent框架全面比较分析:MGX(MetaGPT X)、AutoGen、OpenHands与秒哒(MiaoDa)
  • [C++面试] span<char>和string_view的差别
  • MySQL数据库入门
  • 【JavaScript】金丹期功法
  • LLM动态Shape实现原理与核心技术
  • 【银河麒麟系统常识】命令:dotnet run(运行)
  • 远程医疗的现状如何?
  • C++ 之 SOCKET 通信详解
  • “自动驾驶背后的数学” 专栏导读
  • 推陈换新系列————java8新特性(编程语言的文艺复兴)
  • 【现代深度学习技术】现代卷积神经网络04:含并行连接的网络(GoogLeNet)
  • 每日总结3.26
  • 算法题(108):
  • IM腾讯Trtc与vod云点播:实现合流录制并上传,根据参数返回视频地址
  • JSON简介及C++中的JSON使用指南
  • LangChain4j(1):初识LangChain4j