抽象类 包含抽象方法的类 abstract 修饰
1、抽像类不可以被实例化 Person p = new Person(“bit”,10);
2、如果一个非抽象类继承了抽象类,必须要重写抽象类的抽像方法
3、如果是抽象类继承了抽象类,那么作为派生类的抽象类可以不实现基类的方法
4、Private abstract 不能同时出现 final :方法不能用 类也不能用
5、Public>protected>包访问权限>private
重写方法的时候:
派生类的访问权限一定要大于等于积累的访问权限
6、抽象类里面可以包含非抽象方法。

abstract class Person{
private String name ; 属性
public String getName(){ // 普通⽅方法
return this.name;
}
public void setName(String name){
this.name = name ;
}
// {}为方法体,所有抽象⽅法上不包含方法体
public abstract void getPersonInfo() ; //抽象方法
}
class Student extends Person{
public void getPersonInfo(){
System.out.println("I am a student");
}
}
public class Test{
public static void main(String[] args) {
Person per = new Student() ; //实例化子类,向上转型
per.getPersonInfo() ; //被子类所覆写的方法
}
}

//类加载机制 双亲委派机制
//钩子方法 hook方法
Public boolean isAddOtherThings(){

}
模板模式
完成一件事情,有固定的数个步骤,但是每个步骤根据对象的不同,而实现细节不同;
就可以子啊父类中定义一个完成该事情的总方法。每个步骤的具体实现,由子类完成。
abstract class 类名{
public final void{
}
Public abstract void fun(){
}
Final void make Drink();
//钩子方法 hook方法
模板设计模式

abstract class BankTemplate{public final void takeNumber(){System.out.println("1、取号");}public abstract void transact();public final void evaluate(){System.out.println("3、业务评价");}final void process(){takeNumber();transact();if(isEvaluate()){evaluate();}}public boolean isEvaluate(){return true;}
}
class User1 extends BankTemplate{@Overridepublic void transact() {System.out.println("2、我要取一个亿");}@Overridepublic boolean isEvaluate() {return false;}
}
class User2 extends BankTemplate{@Overridepublic void transact() {System.out.println("2、我要存十个亿");}
}
public class TestDemo2 {public static void main(String[] args) {BankTemplate bankTemplate=new User1();bankTemplate.process();BankTemplate bankTemplate2=new User2();bankTemplate2.process();}}

import java.util.Scanner;abstract class OnlineShopping {public final void browseGoods() {System.out.println("1、浏览商品");}public final void selectGoods() {System.out.println("2、选择商品");}public abstract void callService();public final void computerPrice() {System.out.println("4、结算");}public abstract void orderPay();public abstract void sendService();public final void showOrder() {System.out.println("7、查看订单");}final void process() {browseGoods();selectGoods();if (isCallService()) {callService();}computerPrice();orderPay();sendService();showOrder();}public boolean isCallService() {return  true;}}
class Jd extends OnlineShopping {@Overridepublic void callService() {System.out.println("3、您好,京东客服为您服务");}public String getAnswer(){System.out.println("请问您需要客服服务吗?要:y 不要:n");Scanner scanner=new Scanner(System.in);String str=scanner.nextLine();return str;}public boolean isCallService() {String str = getAnswer();if (str.equals("y")) {return true;} elsereturn false;}@Overridepublic void orderPay() {System.out.println("5、微信支付");}@Overridepublic void sendService() {System.out.println("6、京东配送");}}
public class TestDemo1{public static void main(String[] args) {OnlineShopping onlineShopping=new Jd();onlineShopping.process();
//        Jd jd=new Jd();
//        jd.process();}
}

抽象类 模板设计模式相关推荐

  1. 【复习回顾、继承、抽象类模板设计模式】

    day01[复习回顾.继承.抽象类模板设计模式] 今日内容 面向对象复习------>必须掌握 继承 继承的格式------>必须掌握 继承后成员访问特点------>必须掌握 th ...

  2. Java——抽象类+模板设计模式

    目录 1.抽象类介绍 2.抽象类细节 3.抽象类细节02 4.抽象类实例(员工问题) test01.java Employee.java Manager.java CommonEmployee.jav ...

  3. Java笔记018-抽象类、抽象类最佳实践-模板设计模式、接口、内部类

    目录 抽象类 先看一个问题 小结: 抽象类快速入门 抽象类的介绍 抽象类使用的注意事项和细节讨论 抽象类练习题 抽象类最佳实践-模板设计模式 基本介绍 模板设计模式能解决的问题 最佳实践 最佳实践 接 ...

  4. 0047 抽象类、模板设计模式

      /*抽象类1.用abstract关键字来修饰一个类时,这个类就叫抽象类访问修饰符 abstract 类名{}2.用abstract关键字来修饰一个方法时,这个方法就是抽象方法访问修饰符 abstr ...

  5. 01-复习回顾、继承、抽象类、模板设计模式

    day01[复习回顾.继承.抽象类模板设计模式] 今日内容 面向对象复习 类的创建------>必须掌握 对象的创建和使用------>必须掌握 匿名对象 继承 如何继承-继承的格式--- ...

  6. 【复习回顾、继承、抽象类、模板设计模式】

    day01[复习回顾.继承.抽象类模板设计模式] 今日内容 面向对象复习------>必须掌握 继承 继承的格式------>必须掌握 继承后成员访问特点------>必须掌握 抽象 ...

  7. 10.7 抽象类最佳实践-模板设计模式

    10.7.1 基本介绍 10.7.2 模板设计模式能解决的问题 10.7.3 最佳实践 abstract public class Template { //抽象类-模板设计模式 public abs ...

  8. Java 抽象类最佳实践-模板设计模式

    目录 1.基本介绍 2.模板设计模式能解决的问题 3.最佳实践 1.基本介绍 抽象类体现的就是一种模板模式的设计,抽象类作为多个子类的通用模板,子类在抽象类的基础上进行扩展.改造,但子类总体上会保留抽 ...

  9. day01-【复习回顾、继承、抽象类、模板设计模式】

    复习总结[复习回顾.继承.抽象类模板设计模式] 今日内容 面向对象复习------>必须掌握 继承 继承的格式------>必须掌握 继承后成员访问特点------>必须掌握 抽象类 ...

最新文章

  1. java核心技术读书笔记1
  2. linux下的getopts
  3. 剑指offer之46-50题解
  4. ASP.NET MVC 整合 Spring.net(1)- Controller进容器
  5. 小红书回应行政处罚:因12月央视报道提及未成年信息审核漏放
  6. struts2验证码
  7. 印花固浆在水性印花中的作用
  8. 兄弟打印机内存已满清零方法_兄弟打印机清零方法
  9. orcale自定义数组并向数组中查询插入数据
  10. ShadowGun 飘动的旗帜
  11. Redhat下小企鹅输入法的安装
  12. LightOJ 1224 DNA Prefix(字典树)
  13. 方法finalize()的应用
  14. 利普希茨【NOIP2017模拟8.7A组】
  15. 《柳叶刀》专刊 | 城市设计、交通与人群健康:篇一
  16. 效率之王!这些令人惊叹的开发工具不可不知!
  17. 算法:字符串全部子序列、子串、全排列
  18. 用Selenium爬取网页简单操作
  19. AMBA总线协议(包含AHB与APB)
  20. 登山赛车破解无线金币实现原理分析

热门文章

  1. 数据分析师必备思维——矩阵思维
  2. sysvol 域控制器 文件_[转载]重建域控制器上的SYSVOL和NETLOGON共享
  3. 运维体系建设(第二章)
  4. RMAN crosscheck archivelog all; 失败!
  5. 猪猪侠的黑客学习路线
  6. 逻辑回归基本流程及鸢尾花项目实战
  7. tensorflow的GPU加速计算
  8. 国内ERP的弊端,从“自定义单据“和“自定义流程“来应对客户多变的业务需求
  9. C#网络TCP客户端的实现
  10. 前端通用SEO技术优化指南