1、object类常见方法

(1)Java中,所有类都直接或间接继承自java.lang.Object类,Object类可以说是Java中所有类的祖先即根类

(2)Java中任何类都继承了Object类中的方法,主要有:toString()、equals()、hashcode()、clone()、getClass()、finalize()

可以根据需求,适当地对object类中地方法如toString()、equals()进行重写,示例:

package jicheng.zhangkun.java;class Person{String name;String address;public void printInfo(){System.out.println("Person name: "+name);}public void printAddress(){System.out.println("Person address: "+address);}public String toString() { //重写toString(),输出打印我们想要的结果return "person message:"+name+","+address;}public boolean equals(Object arg0) { //重写equals(),可判断两个实例化对象是否相同Person p = (Person)arg0;  //将arg0强制转换成Person类if (this.name == p.name && this.address == p.address){return true;}else {return false;}}
}public class Test {public static void main(String[] args) {Person p = new Person();p.name = "张坤";p.address = "上海";System.out.println(p.toString());Person p2 = new Person();p2.name = "张坤";p2.address = "上海";System.out.println(p2.toString());System.out.println(p.equals(p2));}
}

运行结果:

person message:王五,北京
person message:六二,上海
false

2、继承小练习

package chiji.zhangkun.java;class Weapon{String name;public void weaponAttack(){System.out.println("武器攻击");}
}class Player{String name;String rank;Weapon weapon;public void attack(){System.out.println("玩家攻击");}
}class K98 extends Weapon{String name;public void weaponAttack(){System.out.println("98K攻击");}
}
class M4A1 extends Weapon{String name;public void weaponAttack(){System.out.println("M4A1攻击");}
}public class Chiji {public static void main(String[] args) {Player p = new Player();p.name = "张坤";p.rank = "荣耀王者";p.weapon = new Weapon();p.attack();p.weapon = new Weapon();p.weapon.weaponAttack();p.weapon = new K98();   //多态p.weapon.weaponAttack();p.weapon = new M4A1();  //多态p.weapon.weaponAttack();}
}

运行结果:

玩家攻击
武器攻击
98K攻击
M4A1攻击

3、继承简单工厂模式

在智能家居项目中,有涉及到简单工厂模式,核心思想就是把指令和设备看作两个工厂,将各设备以及指令以链表的形式串联起来,再通过设备名和指令名分别进行链表的查找。对于Java面向对象的编程语言,实现简单工厂模式就很简单了,简单工厂代码示例如下:

class Fruit{String name;public void grup(){System.out.println("好吃的水果");}public Fruit(String name){this.name = name;}
}class Apple extends Fruit{public void grup(){System.out.println("好吃的苹果");}public Apple(String name){super(name);}
}
class Peach extends Fruit{public void grup(){System.out.println("好吃的莉");}public Peach(String name){super(name);}
}
class Factory{public static Fruit getFruit(String name){if (name == "苹果"){return new Apple(name);}else if (name == "莉"){return new Peach(name);}else if (name == "水果"){return new Fruit(name);}else {return null;}}
}
public class Test {public static void main(String[] args) {Factory.getFruit("水果").grup();Factory.getFruit("苹果").grup();Factory.getFruit("莉").grup();}
}

在实际项目中,可把“水果”、“苹果”、“莉”继承Fruit后分文件写。

运行结果:

好吃的水果
好吃的苹果
好吃的莉

Java继承之object类、继承小练习和继承简单工厂模式相关推荐

  1. java圣经_Java设计模式圣经连载(01)-简单工厂模式[转载]

    简单工厂模式是类的创建,又叫静态工厂方法(Static Factory Methord)模式.简单工厂模式是由一个工厂对象决定创造哪一种产品类的实例. 1.1.1 工厂模式的几种形态 工厂模式专门负责 ...

  2. Java啤酒生产系统描述_Java描述设计模式(02):简单工厂模式

    一.生活场景简介 1.引入场景 订餐流程简单描述 1).食品抽象类,规定食品的基础属性操作 2).鱼类,鸡肉类食品类扩展 3).订餐流程类,根据食品名称,加工指定类型食品 4).模拟客户端预定操作 2 ...

  3. object 构造器java_“java”中为什么“Object”类要有一个空的构造函数?

    展开全部 其他的类之所以可以不用给他写无参的构造函数(方法),就是因为这些类继承了Object类,e68a84e8a2ad323131333532363134313032313635333133336 ...

  4. java之设计模式工厂三兄弟之简单工厂模式

    [学习难度:★★☆☆☆,使用频率:★★★☆☆] 工厂模式是最常用的一类创建型设计模式,通常我们所说的工厂模式是指工厂方法模式,它也是使用频率最高的工厂模式.本章将要学习的简单工厂模式是工厂方法模式的& ...

  5. 简单工厂模式(Java、Python)、工厂方法模式(Java、Python)

    目录 一.试画出简单工厂模式的模式结构图,并对模式进行分析 1.1 简单工厂模式结构图: 1.2 简单工厂模式的实现(Java) 1.3 简单工厂模式的优缺点 1.4 简单工厂模式实现(Python) ...

  6. java的简单工厂模式_java设计模式之简单工厂模式

    简单工厂模式的概念 就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建.简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例. ...

  7. java工厂模式式代码_简单工厂模式及其简单Java案例代码实现

    说明:本文是<大话设计模式>的学习记录及结合网上相关信息编写,原书代码例子采用C#编写,本文采用Java稍加改写.若有不当,欢迎指正,共同进步.java 1.简单工厂模式概述:设计模式 简 ...

  8. Java设计模式之简单工厂模式实验(软件工程综合实践课程第二周)

    实验目的 1 .理解软件设计的相关理论 : 2 .理解面向对象设计原则: 实验内容 1 .简单工厂模式实验: (1) 参考讲义上的代码,利用简单工厂模式完成计算器应用程序: (2) 画出计算器程序简单 ...

  9. JAVA设计模式——工厂模式【简单工厂模式、工厂方法模式、抽象工厂模式】

    目录 简单工厂模式 传统方式 简单工厂模式 静态工厂模式 工厂方法模式 抽象工厂模式 工厂模式JDK-Calendar源码分析 工厂模式小结 简单工厂模式   看一个具体的需求 看一个披萨的项目:要便 ...

  10. 轻松看懂java设计模式简单工厂模式

    点击上方"好好学java",选择"置顶公众号" 优秀学习资源.干货第一时间送达! 精彩内容 java实战练习项目教程 2018微服务资源springboot.s ...

最新文章

  1. Kotlin学习入门笔记
  2. git clone 报错 “Clone failed: Authentication failed for xxxxx”(做过测试)
  3. java 中violate_Java中的volatile关键字及Cache更新
  4. 无线网卡dns服务器没有响应,无线网卡上不去网怎么设置dns
  5. 频繁使用花呗、借呗、微粒贷、京东白条会影响在银行的信用吗?
  6. [安全测试报告]针对某厂商的一次渗透性测试
  7. ora-00119和ora-00132解决方案
  8. Android 颜色渲染(三) Shader颜色渲染
  9. pagination分页(支持首页,末页,跳转)
  10. android分区调整大小写,小米2 32G开发版 无损分区调整
  11. 【算法与数据结构】—— 大数运算
  12. linux下最常见的操作和命令
  13. netbeans卸载
  14. android sensor hal,Android Sensor详解(3)porting drvier
  15. 名帖77 刘弘珪 楷书《金刚般若波罗蜜经》
  16. 维护一个大型开源项目,例如vscode是怎样的体验?
  17. 指纹支付 android 9,华为G9青春版怎么设置指纹功能? 华为G9指纹支付解锁的教程...
  18. 页面js打开 qq客户端对话框(已测试)
  19. blood pressure android app,BP(Blood Pressure) Diary
  20. Outlook.com高级版优惠价截止日顺延到6月30日

热门文章

  1. python生成word文档的表格_说说如何使用 Python 在 word 中创建表格
  2. 微信小程序实现类似抖音效果
  3. scandir按文件名升序获取满足条件的文件名
  4. 用python绘制bilibili小电视
  5. RHCE.Tuned
  6. 阿里云校园公益极客大赛正式启动 公益+科技+未来,打造不一样的校园赛事!...
  7. Revit三维(3D)模型导出为二维CAD图纸(用于实用新型专利绘图)
  8. 【电赛实战】混沌信号产生实验装置 2022年D题
  9. 滞回比较电路简便计算小工具
  10. (4)Python实现npy转jpg