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

Java 类高级特性

Java 类高级特性

高级特性概览

Java 面向对象的高级特性包括:

  • 继承:代码复用,建立 is-a 关系
  • 多态:通过统一接口调用不同对象,实现灵活性
  • 抽象类与接口:定义通用模板和契约
  • 封装:隐藏内部数据,控制访问
  • final 修饰符:控制类、方法和变量不可变性

继承(Inheritance)

class Vehicle {protected String brand;protected int speed;public Vehicle(String brand) { this.brand = brand; }public void accelerate(int increment) {speed += increment;System.out.println(brand + " 加速到 " + speed + " km/h");}
}class Car extends Vehicle {private int doors;public Car(String brand, int doors) {super(brand);this.doors = doors;}@Overridepublic void accelerate(int increment) {super.accelerate(increment);System.out.println("Car accelerate 完成");}public void honk() { System.out.println(brand + " 汽车鸣笛!"); }
}
  • 子类可重写(override)父类方法
  • super 调用父类构造或方法

多态(Polymorphism)

class Animal { public void sound() { System.out.println("动物声音"); } }
class Dog extends Animal { @Override public void sound() { System.out.println("汪汪"); } }
class Cat extends Animal { @Override public void sound() { System.out.println("喵喵"); } }Animal a1 = new Dog();
Animal a2 = new Cat();
a1.sound(); // 汪汪
a2.sound(); // 喵喵
  • 多态提高代码灵活性
  • 可以在数组或集合中处理不同子类对象

抽象类 vs 接口

abstract class Shape {public abstract double area();
}interface Drawable {void draw();default void setColor(String color) { System.out.println("颜色: " + color); }static void info() { System.out.println("Drawable 接口"); }
}
  • 抽象类可包含具体方法和状态
  • 接口可多继承,定义契约
  • 接口可以有默认方法和静态方法

封装与数据隐藏

public class BankAccount {private double balance;public void deposit(double amount) {if(amount>0) balance += amount;}public boolean withdraw(double amount) {if(amount>0 && amount<=balance) { balance -= amount; return true; }return false;}public double getBalance() { return balance; }
}
  • 封装通过 getter/setter 提供受控访问
  • 可加入验证逻辑,保证数据完整性

final 修饰符

final class Constants { public static final double PI = 3.14159; }
final void cannotOverride() { }
  • final class:类不可继承
  • final method:方法不可重写
  • final variable:变量不可修改

方法重载与覆盖

  • 重载(overload):同一类,方法名相同,参数不同
  • 覆盖(override):子类重写父类方法,参数相同

组合与依赖关系
组合:一个类包含另一个类对象,has-a 关系
依赖:方法参数或局部变量使用其他类对象

class Engine { void start() {} }
class Car { private Engine engine = new Engine(); }

总结

  • 继承促进代码复用
  • 多态提高扩展性
  • 抽象类和接口定义模板与契约
  • 封装保护对象状态
  • final 修饰符保证不可变性
  • 重载与覆盖提高方法灵活性
  • 组合与依赖设计松耦合结构
http://www.dtcms.com/a/587974.html

相关文章:

  • 银川公司做网站咸阳网站建设方案
  • Python 错误类型
  • 中关村在线网站的建设网站建设空心正方形
  • 长沙网站排名优化费用四川建设网app
  • 设计图片免费素材网站网站文字不能编辑器
  • 如何自己做网站手机特定网站开发
  • 如何建立一个网站做网站协议书
  • 获取网站后台地址建站的步骤
  • 网站备案能查到什么东西网站建设公司dz000
  • 青岛网站营销推广网站备案照片怎么弄
  • h5网站价格方案网站开发 流程
  • 免费做h5的网站小程序制作开发平台
  • 重庆网站建设中心wordpress信用卡
  • 临清网站建设公司最近的新闻事件
  • 做散客机票的网站如何推广注册城乡规划师一年能挂多少钱
  • seo怎么做自己的网站玉环住房与城乡建设规划局网站
  • 自助建设网站软件软件公司薪酬绩效方案
  • 0基础网站搭建教程百度数据平台
  • 深度科技商业官方网站手机网站格式商城
  • 广州外贸营销型网站兰州起点网站建设
  • 网站建设方案对比分析报告seo谷歌外贸推广
  • 上网建站全国十大室内设计师
  • 网站建设和电子商务的关系公司网站建设费计入什么科目
  • 高州手机网站建设公司甘肃省建设局网站首页
  • 亚马逊网站运营怎么做站长之家网页模板
  • 西安网站制作定制济南传承网络李聪
  • 莆田网站建设模板工资卡app下载
  • 做二手车广告推广哪家网站好网站优化过度被k
  • 公司网站地图怎么做用ps设计一个个人网站模板
  • 淄博汽车网站建设建设集团网站方案设计