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

做购物网站建设的公司优化品牌seo关键词

做购物网站建设的公司,优化品牌seo关键词,win7在局域网做网站,企业网站建设有哪些优势文章目录重写(Override)方法的重写规则Super 关键字的使用重载(Overload)重载规则实例重写与重载之间的区别总结重写(Override) 重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写! 重写的好处在于…

在这里插入图片描述

文章目录

  • 重写(Override)
  • 方法的重写规则
  • Super 关键字的使用
  • 重载(Overload)
    • 重载规则
    • 实例
  • 重写与重载之间的区别
  • 总结

重写(Override)

重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!
重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。
重写方法不能抛出新的检查异常或者比被重写方法申明更加宽泛的异常。例如: 父类的一个方法申明了一个检查异常 IOException,但是在重写这个方法的时候不能抛出 Exception 异常,因为 Exception 是 IOException 的父类,抛出 IOException 异常或者 IOException 的子类异常。

在面向对象原则里,重写意味着可以重写任何现有方法。实例如下:

TestDog.java 文件代码:

class Animal{public void move(){System.out.println("动物可以移动");}
}class Dog extends Animal{public void move(){System.out.println("狗可以跑和走");}
}public class TestDog{public static void main(String args[]){Animal a = new Animal(); // Animal 对象Animal b = new Dog(); // Dog 对象a.move();// 执行 Animal 类的方法b.move();//执行 Dog 类的方法}
}

以上实例编译运行结果如下:

动物可以移动
狗可以跑和走

在上面的例子中可以看到,尽管 b 属于 Animal 类型,但是它运行的是 Dog 类的 move方法。

这是由于在编译阶段,只是检查参数的引用类型。

然而在运行时,Java 虚拟机(JVM)指定对象的类型并且运行该对象的方法。

因此在上面的例子中,之所以能编译成功,是因为 Animal 类中存在 move 方法,然而运行时,运行的是特定对象的方法。

思考以下例子:

TestDog.java 文件代码:

class Animal{public void move(){System.out.println("动物可以移动");}
}class Dog extends Animal{public void move(){System.out.println("狗可以跑和走");}public void bark(){System.out.println("狗可以吠叫");}
}public class TestDog{public static void main(String args[]){Animal a = new Animal(); // Animal 对象Animal b = new Dog(); // Dog 对象a.move();// 执行 Animal 类的方法b.move();//执行 Dog 类的方法b.bark();}
}

以上实例编译运行结果如下:

TestDog.java:30: cannot find symbol
symbol  : method bark()
location: class Animalb.bark();^

该程序将抛出一个编译错误,因为b的引用类型Animal没有bark方法。

方法的重写规则

  • 参数列表与被重写方法的参数列表必须完全相同。

  • 返回类型与被重写方法的返回类型可以不相同,但是必须是父类返回值的派生类(java5 及更早版本返回类型要一样,java7 及更高版本可以不同)。

  • 访问权限不能比父类中被重写的方法的访问权限更低。例如:如果父类的一个方法被声明为 public,那么在子类中重写该方法就不能声明为 protected。

  • 父类的成员方法只能被它的子类重写。

  • 声明为 final 的方法不能被重写。

  • 声明为 static 的方法不能被重写,但是能够被再次声明。

  • 子类和父类在同一个包中,那么子类可以重写父类所有方法,除了声明为 private 和 final 的方法。

  • 子类和父类不在同一个包中,那么子类只能够重写父类的声明为 public 和 protected 的非 final 方法。

  • 重写的方法能够抛出任何非强制异常,无论被重写的方法是否抛出异常。但是,重写的方法不能抛出新的强制性异常,或者比被重写方法声明的更广泛的强制性异常,反之则可以。

  • 构造方法不能被重写。

  • 如果不能继承一个类,则不能重写该类的方法。

Super 关键字的使用

当需要在子类中调用父类的被重写方法时,要使用 super 关键字。

TestDog.java 文件代码:

class Animal{public void move(){System.out.println("动物可以移动");}
}class Dog extends Animal{public void move(){super.move(); // 应用super类的方法System.out.println("狗可以跑和走");}
}public class TestDog{public static void main(String args[]){Animal b = new Dog(); // Dog 对象b.move(); //执行 Dog类的方法}
}

以上实例编译运行结果如下:

动物可以移动
狗可以跑和走

重载(Overload)

重载(overloading) 是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。

每个重载的方法(或者构造函数)都必须有一个独一无二的参数类型列表。

最常用的地方就是构造器的重载。

重载规则

  • 被重载的方法必须改变参数列表(参数个数或类型不一样);
  • 被重载的方法可以改变返回类型;
  • 被重载的方法可以改变访问修饰符;
  • 被重载的方法可以声明新的或更广的检查异常;
  • 方法能够在同一个类中或者在一个子类中被重载。
  • 无法以返回值类型作为重载函数的区分标准。

实例

Overloading.java 文件代码:

public class Overloading {public int test(){System.out.println("test1");return 1;}public void test(int a){System.out.println("test2");}   //以下两个参数类型顺序不同public String test(int a,String s){System.out.println("test3");return "returntest3";}   public String test(String s,int a){System.out.println("test4");return "returntest4";}   public static void main(String[] args){Overloading o = new Overloading();System.out.println(o.test());o.test(1);System.out.println(o.test(1,"test3"));System.out.println(o.test("test4",1));}
}

重写与重载之间的区别

区别点重载方法重写方法
参数列表必须修改一定不能修改
返回类型可以修改一定不能修改
异常可以修改可以减少或删除,一定不能抛出新的或者更广的异常
访问可以修改一定不能做更严格的限制(可以降低限制)

总结

方法的重写(Overriding)和重载(Overloading)是java多态性的不同表现,重写是父类与子类之间多态性的一种表现,重载可以理解成多态的具体表现形式。

  1. 方法重载是一个类中定义了多个方法名相同,而他们的参数的数量不同或数量相同而类型和次序不同,则称为方法的重载(Overloading)。
  2. 方法重写是在子类存在方法与父类的方法的名字相同,而且参数的个数与类型一样,返回值也一样的方法,就称为重写- (Overriding)。
  3. 方法重载是一个类的多态性表现,而方法重写是子类与父类的一种多态性表现。
http://www.khdw.cn/news/34492.html

相关文章:

  • 霸州做网站1766534168站长工具seo综合查询推广
  • 白市驿网站建设百度做广告怎么收费
  • 装修公司全屋整装网站关键词seo费用
  • 国内免费产品发布网站线上引流线下推广方案
  • 百度做公司网站需要多少钱软文代写自助发稿平台
  • wordpress网站音乐播放器朋友圈广告推广代理
  • 哈尔滨网站建设工作室济南seo整站优化价格
  • 群辉nas怎么做网站国内免费ip地址
  • 做器材的网站百度投流运营
  • wordpress伪静态iis7seo中文意思
  • 个人小说网站怎么做百度账号购买网站
  • 做调查问卷赚钱网站国外酒吧营销用什么软件找客源
  • 广州做网站哪家公司好广东seo网站设计
  • 品牌建设对企业的作用赣州seo
  • 网站开发项目延期说明东莞网络推广培训
  • app模板下载网站模板外贸网站推广平台
  • 公众号怎么制作二维码seo是怎么优化的
  • seo提高网站排名百度站长收录入口
  • 哪一个网站可以做任务拿佣金seo外链发布平台有哪些
  • html做网站自适应宽度免费网站推广优化
  • 网站 asp php啥都能看的浏览器
  • 哪些网站做英语比较好各大网站提交入口
  • 网站开发 实战今天有什么新闻
  • 国家工业和信息化部网站备案系统超链接友情外链查询
  • 中国网站为什么做的那么丑推广网站的方法有哪些
  • html5网站引导页模板游戏推广员怎么做
  • 有哪些可以做策划方案的网站教育培训网站模板
  • 福千欣隆网站建设公司 概况关键词排名查询
  • 网站建设 javaseo sem论坛
  • 武汉营销型网站建设公司建站abc网站