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

河南省建设工程质量安全监督网站西安网站制作公司有哪家

河南省建设工程质量安全监督网站,西安网站制作公司有哪家,网站后台添加东西不能粘贴,电销卡购买平台项目代码 https://github.com/yinhai1114/Java_Learning_Code/tree/main/IDEA_Chapter10/src/com/yinhai/abstract_ 一、抽象类的引入 很多时候在创建类的时候有一个父类#xff0c;比如animal类#xff0c;他的子类会有各种方法#xff0c;为了复用需要进行方法的重写… 项目代码 https://github.com/yinhai1114/Java_Learning_Code/tree/main/IDEA_Chapter10/src/com/yinhai/abstract_ 一、抽象类的引入 很多时候在创建类的时候有一个父类比如animal类他的子类会有各种方法为了复用需要进行方法的重写比如子类Cat会eat所以不得已只能在animal类内也需要写eat方法但没有意义。 所以当父类的某些方法需要声明但是又不确定如何实现时可以将其声明为抽象方法那么这个类就是抽象类。 abstract class Animal{// public void eat(){System.out.println(eat但不知道谁在吃);}//所以需要抽象方法//这里实现了eat但其实没有什么意义//即 父类方法不确定性的问题//考虑该方法设计为抽象(abstract)方法//所谓抽象方法就是没有实现的方法//所谓没有实现就是指没有方法体abstract public void eat();//注意 当一个类中存在抽家方法时需要将该类声明为abstract类//所以一般是子类来实现这个抽象方法的重写 } class Cat extends Animal{public void eat(){System.out.println(小猫在吃....);} } 二、抽象类的基本介绍 1)用abstract关键字来修饰个类时,这个类就叫抽象类访问修饰符abstract类名{ 2)用abstract关键字来修饰一个方法时这个方法就是抽象方法访问修饰符abstract返回类型方法名(参数列表)//没有方法体 3)抽象类的价值更多作用是在于设计是设计者设计好后让子类继承并实现抽象类() 4)抽象类是考官比较爱问的知识点在框架和设计模式使用较多 三、抽象类的注意事项和细节讨论 1)抽象类不能被实例化 报错A is abstract; cannot be instantiated 2)抽象类不定要包含abstract方法。 也就是说抽象类可以没有abstract方法 同上 上图的抽象类A类并没有抽象方法 3)一旦类包含了abstract方法则这个类必须声明为abstract 4) abstract只能修饰类和方法不能修饰属性和其它的。 5)抽象类可以有任意成员抽象类本质还是类比如:非抽象方法、构造器、静态属性等等 注意不能实例对象。 public class AbstractDetail02 {public static void main(String[] args) {D.nihao();} } abstract class D{public int n1 10;public static String name yinhai;public D(){}{}static {}public abstract void hello();public void ok(){}public static void nihao (){} }6)抽象方法不能有主体即不能实现如图所示abstract void aaa(){} 7)如果个类继承 了抽象类 则它必须实现抽象类的所有抽象方法除非它自己也声明为abstract类。 abstract class E{public abstract void hi(); } abstract class F extends E{} class G extends E{Overridepublic void hi() {//这里G类子类实现了父类E的抽象方法就是有方法体} } 8)抽象方法不能使用private,final和static来修饰因为这些关键字都是和重写相违背的。 四、抽象类的课堂练习 1)题1.思考: abstract final class A{}能编译通过吗why? // 不能 因为抽象的本意是继承重写 //final修饰就已经是最终类了 2)题2,思考: abstract public static void test2(); 能编译通过吗why? //不能 静态的方法是不能重写的 3)题3,思考: abstract private void test30;能编译通过吗why? //不能 除了public以外都不行 4)编写一个Employee类,声明为抽象类包含如下三个属性: name, id, salary.提供必要的构造器和抽象方法: work0. 对于Manager类来说他既是员工还具有奖金(bonus)的属性。请使用继承的思想设计CommonEmployee类和Manager类.要求类中提供必要的方法进行属性访问实现work().提示经理/普通员工名字工作中.... public double getSalary() {return salary;}public void setSalary(double salary) {this.salary salary;} } class Maanager extends Employee{private double bonus;public Maanager(String name, String id, double salary, double bonus) {super(name, id, salary);this.bonus bonus;}public void work(){System.out.println(经理 getName() 正在工作中);} } class CommonEmployee extends Employee{public void work(){System.out.println(普通员工 getName() 正在工作中);}public CommonEmployee(String name, String id, double salary) {super(name, id, salary);} } 五、模版设计模式 需求 1.有多个类完成不同的任务job 2.要求统计各自得到各自完成任务的时间 3.编程实现 引出模版设计模式 public class TestTemplate {public static void main(String[] args) {AA aa new AA();aa.job();BB bb new BB();bb.job();} }class AA {public void job() {//得到开始的时间long start System.currentTimeMillis();long num 0;for (long i 0; i 1000000; i) {num i;}//得到结束的时间long end System.currentTimeMillis();System.out.println(执行时间 (end - start) ms);}public void job2(){//得到开始的时间long start System.currentTimeMillis();long num 0;for (long i 0; i 3000000; i) {num i;}//得到结束的时间long end System.currentTimeMillis();System.out.println(执行时间 (end - start) ms);} }class BB {public void job() {//得到开始的时间long start System.currentTimeMillis();long num 0;for (long i 0; i 2000000; i) {num i;}//得到结束的时间long end System.currentTimeMillis();System.out.println(执行时间 (end - start) ms);} } 如果在每个单类里面写job和计算时间的代码块复用性会很差所以就引出模版设计设计一个父类里面塞进去共有的计算时间的方法然后塞入抽象job方法因为每一个对象在运行的时候会从本类开始查找所以构成了重写抽象job方法所以这种设计理念就相当于把父类作为一个模版其他继承。 所以改进该代码 public class TestTemplate {public static void main(String[] args) {AA aa new AA();BB bb new BB();aa.calWorkTime();bb.calWorkTime();} } abstract class Template{public abstract void job();public void calWorkTime(){long start System.currentTimeMillis();job();//动态绑定机制调用的是对象所在类内的方法没有再往上查找long end System.currentTimeMillis();System.out.println(执行时间 (end - start) ms);} } class AA extends Template{public void job() {long num 0;for (long i 0; i 1000000; i) {num i;}} } class BB extends Template{public void job() {long num 0;for (long i 0; i 2000000; i) {num i;}} }
http://www.hkea.cn/news/14338742/

相关文章:

  • 西安做网站的公司建设优秀企业网站
  • 东莞网站建设网站推广软件工程师招聘简章pdf免费
  • wordpress 亚马逊插件杭州seo薪资水平
  • 做dota2菠菜网站wordpress twilight saga 主题
  • 公司做网站的作用电气行业网站建设多少钱
  • 上海做网站找谁成都网站营销seo电话
  • 南通优普网站建设团队黑龙江企业网站建设公司
  • 如何做属于自己的领券网站做教育网站的er图
  • 吉林省交通建设集团有限公司网站凌河网站建设推广
  • 贵州省建设厅网站多少wordpress 笔记
  • 免费自助开通网站外国人做中国数学视频网站
  • 汕尾市企业网站seo点击软件外贸网络推广是什么
  • 泰安网站开发公司网上开店的货源渠道有哪些
  • 有域名了也备案了怎么做网站网络热词排行榜
  • 手机网站自适应分辨率wordpress 备份主题
  • 宁波制作网站企业有哪些可以做微课PPT模板 网站
  • 湖州集团网站建设达州建设机械网站
  • php网站开发实例视频教程大专毕业设计怎么做
  • 深圳官方网站泰安房产最新网签情况
  • 做网站的天空网嘉兴丝绸大厦做网站的公司
  • 郑州做网站要多少钱个人网页免费域名注册入口
  • 纯html网站开发工具深圳网站建设 合作品牌
  • php网站开发环境一威海市网站建设
  • 母婴网站的功能设计招商网站开发
  • 建美食网站有哪些原因wordpress默认安装目录
  • php怎么创建网站什么是门户网站
  • 网站模板 免费下载杭州品牌网站设计制作公司
  • 学习网站建设论文阿里云做网站可以吗
  • 直播平台创建公会佛山网站建设乐云seo在线制作
  • 怎么做php网站深圳做网站建设和维护专员管理层