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

一个网站有个前端后端怎么做做搜狗pc网站排

一个网站有个前端后端怎么做,做搜狗pc网站排,wordpress the7下载,做网站如何调字体格式在Java开发中,重写(Override)是面向对象编程(OOP)中的一个重要概念。它允许子类提供父类方法的具体实现,从而改变或扩展父类的行为。重写是实现多态性的重要手段,使得程序在运行时能够根据对象的…

在Java开发中,重写(Override)是面向对象编程(OOP)中的一个重要概念。它允许子类提供父类方法的具体实现,从而改变或扩展父类的行为。重写是实现多态性的重要手段,使得程序在运行时能够根据对象的实际类型来调用相应的方法。

在实际应用中,重写父类方法的场景非常广泛。例如,假设我们正在开发一个图形处理软件,其中有多种形状(如圆形、矩形、三角形等)。我们可以定义一个父类Shape,然后为每种形状创建子类。在这些子类中,我们可以重写Shape类中的draw方法,以实现不同形状的绘制逻辑。

1. 什么是重写?

重写是指在子类中重新定义父类的方法。重写的方法必须与父类的方法具有相同的方法名、参数列表和返回类型。重写的目的是为了提供子类特有的实现。

2. 重写的规则

  • 方法名相同:子类方法的名称必须与父类方法相同。

  • 参数列表相同:子类方法的参数列表必须与父类方法的参数列表相同。

  • 返回类型相同:子类方法的返回类型必须与父类方法的返回类型相同,或者是其子类(协变返回类型)。

  • 访问修饰符:子类方法的访问修饰符不能比父类方法的修饰符更严格。例如,如果父类方法是public,那么子类方法不能是protectedprivate

  • 抛出异常:子类方法可以抛出父类方法抛出的异常,也可以抛出更具体的异常,但不能抛出更广泛的异常。

示例代码

下面我们通过一个简单的示例来演示如何重写父类方法。

示例 1:基本的重写
// 定义一个父类 Shape
class Shape {// 父类方法public void draw() {System.out.println("Drawing a shape");}
}// 定义一个子类 Circle 继承自 Shape
class Circle extends Shape {// 重写父类的 draw 方法@Overridepublic void draw() {System.out.println("Drawing a circle");}
}// 定义一个子类 Rectangle 继承自 Shape
class Rectangle extends Shape {// 重写父类的 draw 方法@Overridepublic void draw() {System.out.println("Drawing a rectangle");}
}// 主类
public class Main {public static void main(String[] args) {// 创建 Shape 类型的引用指向 Circle 对象Shape shape1 = new Circle();shape1.draw(); // 输出: Drawing a circle// 创建 Shape 类型的引用指向 Rectangle 对象Shape shape2 = new Rectangle();shape2.draw(); // 输出: Drawing a rectangle}
}
代码解释
  1. **父类 Shape**:定义了一个draw方法,表示绘制形状。

  2. 子类 Circle 和 **Rectangle**:分别重写了draw方法,提供了各自的实现。

  3. **主类 Main**:创建了Shape类型的引用,但指向不同的子类对象。通过这种方式,我们实现了多态性。

示例 2:重写与多态

在实际开发中,重写通常与多态结合使用。我们可以使用父类类型的引用来调用子类的方法,具体调用哪个方法在运行时决定。

// 父类
class Animal {public void sound() {System.out.println("Animal makes a sound");}
}// 子类 Dog
class Dog extends Animal {@Overridepublic void sound() {System.out.println("Dog barks");}
}// 子类 Cat
class Cat extends Animal {@Overridepublic void sound() {System.out.println("Cat meows");}
}// 主类
public class Main {public static void main(String[] args) {Animal myDog = new Dog();Animal myCat = new Cat();myDog.sound(); // 输出: Dog barksmyCat.sound(); // 输出: Cat meows}
}
代码解释
  1. **父类 Animal**:定义了一个sound方法,表示动物发出的声音。

  2. 子类 Dog 和 **Cat**:分别重写了sound方法,提供了不同的实现。

  3. **主类 Main**:通过Animal类型的引用调用DogCatsound方法,展示了多态性。

示例 3:重写中的访问修饰符

重写方法时,访问修饰符的选择也很重要。以下示例展示了如何在重写时使用不同的访问修饰符。

// 父类
class Vehicle {// 父类方法,使用 public 修饰符public void start() {System.out.println("Vehicle is starting");}
}// 子类 Car
class Car extends Vehicle {// 重写父类方法,仍然使用 public 修饰符@Overridepublic void start() {System.out.println("Car is starting");}
}// 子类 Bike
class Bike extends Vehicle {// 重写父类方法,使用 protected 修饰符(错误示例)// @Override// protected void start() { // 这将导致编译错误//     System.out.println("Bike is starting");// }
}// 主类
public class Main {public static void main(String[] args) {Vehicle myCar = new Car();myCar.start(); // 输出: Car is starting}
}
代码解释
  1. **父类 Vehicle**:定义了一个start方法,使用public修饰符。

  2. **子类 Car**:重写了start方法,仍然使用public修饰符。

  3. **子类 Bike**:尝试使用protected修饰符重写start方法,这会导致编译错误,因为protectedpublic更严格。

生活中的比喻

重写可以用生活中的许多场景来比喻。例如,想象一个父亲和他的孩子。父亲有一个技能,比如“游泳”。孩子可以继承这个技能,但他可以选择在游泳的方式上做出改变,比如“花样游泳”或“潜水”。在这个比喻中,父亲的游泳方式相当于父类的方法,而孩子的游泳方式则是重写的方法。

http://www.yayakq.cn/news/674399/

相关文章:

  • 国内网站空间 优帮云常见的网站开发语言
  • 做网站的编程语言组合做冷冻食品的网站
  • 企业网站备案域名可以用个人的做网站一定要服务器吗
  • 网站建设衤金手指花总十四企业微信app官网下载
  • 美食优秀设计网站新闻危机公关
  • 网站建设方案及报价苏州建站模板厂家
  • 企业营销策划是什么中山短视频seo教程
  • o2o模式的电商平台网站有哪些搜索引擎营销seo
  • 佛山网站建设哪家评价高wordpress 橘子皮模板
  • 怎样使用二维码做网站大连意动网站建设有限公司怎么样
  • phpcms网站打开空白河海大学学风建设网站
  • 秦皇岛网站建设找汉狮2017学脚本语言做网站
  • 网站首页 排版做网站学习
  • 规划营销型网站结构重庆唐卡装饰公司
  • 二手服务器做网站个人网站制作申请
  • ftp下的内部网站建设搜索引擎推广网站
  • 海外搜索引擎网站建设做网站如何赢利的
  • 古镇小企业网站建设广平企业做网站推广
  • 萍乡市建设局网站服务网站开发
  • 网上竞价采购网站建设网站建设选择什么模式
  • 怎么更改网站备案信息新手自己建网站
  • 网站建设中的安全问题成都网站建设工作室
  • 中文字体怎么设计网站淮南市重点工程建设管理局网站
  • asp网站的优点网络营销外包网络推广
  • 网站小图标素材网站建设备案条件
  • 科技类公司网站设计9377游戏官网
  • 济宁市建设工程质量监督站网站网站建设开发报告论文
  • 网站模板工具c 做网站后台
  • html5教育网站wordpress仿北京时间
  • 可以免费做网站网站建设对企业的好处有哪些