需求一:用手机打电话,发短信,看视频,听音乐,用面向对象思想实现;

package android.java.oop01;

/**
* 1.既然是面向/面对 --> 对象 就要把 (用手机打电话,发短信,看视频,听音乐)描述对象/实体
* 2.Phone手机 为什么是定义Phone手机,因为Phone手机包含了[打电话,发短信,看视频,听音乐] 这些行为和功能
*/
class Phone{ /**
* 打电话的行为/功能
*/
void call(){
System.out.println("打电话的行为/功能");
// ......
} /**
* 发短信的行为/功能
*/
void sendMsg() {
System.out.println("发短信的行为/功能");
// ......
} /**
* 看视频的行为/功能
*/
void lookVideo() {
System.out.println("看视频的行为/功能");
// ......
} /**
* 听音乐的行为/功能
*/
void hearMusic() {
System.out.println("听音乐的行为/功能");
// ......
} // ......
} /**
* 需求一:用手机打电话,发短信,看视频,听音乐,用面向对象思想实现;
*/
public class OopDemo03 { public static void main(String[] args) { /**
* 3.注意:不能去面向 打电话,发短信,看视频,听音乐 这些功能/行为,而是面向对象
*/
Phone phone = new Phone(); /**
* 执行对象里面的方法
* 手机.打电话
* 手机.发短信
* 手机.看视频
* 手机.听音乐
*/
phone.call();
phone.sendMsg();
phone.lookVideo();
phone.hearMusic(); } }

需求二:黄天工作室里有50位穿着黑色衣服的程序员正在疯狂的写代码

package android.java.oop01;

/**
* 1.首先面向最大的哪个对象,描述最大的哪个对象(工作室) 因为工作室包含了程序员
*/
class Studio { private Studio(){} public Studio(String studioName, int number) {
this.studioName = studioName;
this.number = number;
} /**
* 描述工作室的名称 例如:黄天
*/
private String studioName; /**
* 描述工作室的员工数量 例如:35名程序员 / 4名领导 ...
*/
private int number; /**
* 描述工作室的行为/功能
*/
public void work(Programmer programmer) {
System.out.println("黄天工作室里有" + number + "位" + programmer.doCode());
} /**
* 工作室还有很多行为,例如:员工离开工作室,员工进入工作室 等等
* ....
*/
} /**
* 2.描述程序员这个对象/实体
*/
class Programmer { private Programmer(){} public Programmer(String color) {
this.color = color;
} /**
* 描述程序员穿的衣服颜色
*/
private String color; /**
* 描述程序员的行为
*/
public String doCode() {
return "穿着" + color + "黑色衣服的程序员正在疯狂的写代码";
} } /**
* 需求二:黄天工作室里有50位穿着黑色衣服的程序员正在疯狂的写代码
*/
public class OopDemo04 { public static void main(String[] args) { /**
* 之前两步重点是描述对象,而现在是创建/实例化/ --> 对象/实体
*/
Studio studio = new Studio("黄天", 50);
studio.work(new Programmer("黑色"));
} }

需求三:人开门

package android.java.oop01;

/**
* 分析【人开门】:
* 开门/关门 等 这些行为/功能 肯定是门最清楚(门轴/弹簧怎么操作),所以具体开门的行为/功能是门在做,而谁让门打开呢? 是人
*/ /**
* 描述门

Android-Java-面向对象的代码例子的更多相关文章

  1. 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 02 封装的代码实现

    088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 02 封装的代码实现 本文知识点:Java封装的代码实现 说明:因为时间紧张,本人写博客过程中只 ...

  2. 【重走Android之路】【Java面向对象基础(三)】面向对象思想

    [重走Android之路][基础篇(三)][Java面向对象基础]面向对象思想   1 面向对象的WWH   1.1 What--什么是面向对象         首先,要理解“对象”.在Thinkin ...

  3. 【重走Android之路】【Java面向对象基础(二)】细说String、StringBuffer和StringBuilder

    [重走Android之路][基础篇(二)][Java面向对象基础]细说String.StringBuffer和StringBuilder   1.String String是Java中的一个final ...

  4. 【重走Android之路】【Java面向对象基础(一)】数据类型与运算符

    [重走Android之路][基础篇(一)][Java面向对象基础]数据类型与运算符   1.数据类型介绍 在Java中,数据类型分为两种:基本数据类型和引用类型. 基本数据类型共8种,见下表: 基本数 ...

  5. 【Java学习笔记之十三】初探Java面向对象的过程及代码实现

    理解Java面向对象的重要知识点: 一. 类,对象 类?首先举一个例子:小李设计了一张汽车设计图,然后交给生产车间来生产汽车,有黑色的.红色的.白色的... 这里,汽车设计图就是我们说的类(class ...

  6. 2016-2017-2 20155339《 java面向对象程序设计》实验四Android程序设计

    2016-2017-2 20155339< java面向对象程序设计>实验四Android程序设计 实验内容 1.Android Stuidio的安装测试: 参考<Java和Andr ...

  7. 2062326 齐力锋 实验四《Java面向对象程序设计Android开发》实验报告

    北京电子科技学院(BESTI) 实 验 报 告 课程: 程序设计与数据结构  班级: 1623  姓名: 齐力锋 学号: 20162326 成绩: 指导教师: 娄嘉鹏/王志强 实验日期: 2017年5 ...

  8. JAVA学习前十天:小结、面向对象之”扑克牌“例子

    2016年4月26号正式步入JAVA学习课堂,学习了第一节JAVA课程,由于以前有C语言基础,所以课程有点快! 第一天:学习了教材的第一部分,第一部分总共两章,分别是JAVA简介和JAVA基础语法. ...

  9. # 095 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 03 封装总结 01 封装知识点总结

    095 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  10. 094 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 04 static关键字(续)

    094 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

随机推荐

  1. MySQL学习笔记-数据库后台线程

    数据库后台线程 默认情况下讲述的InnoDB存储引擎,以后不再重复声明.后台线程有7个--4个IO thread,1个master thread,1个锁监控线程,1个错误监控线程.IO thread的 ...

  2. Java 线程池 Executor 框架

    在Java中,可以通过new Thread 的方法来创建一个新的线程执行任务,但是线程的创建是非常耗时的,而且创建出来的新的线程都各自运行.缺乏统一的管理,这样的后果是可能导致创建过多的线程从而过度消 ...

  3. Hadoop的本地库(Native Libraries)介绍

    Hadoop是使用Java语言开发的,但是有一些需求和操作并不适合使用java,所以就引入了本地库(Native Libraries)的概念,通过本地库,Hadoop可以更加高效地执行某一些操作. 目 ...

  4. fetch获取json的正确姿势

    fetch要求参数传递,遇到请求无法正常获取数据,网上其他很多版本类似这样: fetch(url ,{ method: 'POST', headers:{ 'Accept': 'application ...

  5. 查看Android应用所需权限(uses-permission)

    http://www.tuicool.com/articles/zq2meq MainActivity如下: package cc.testusespermission; import android ...

  6. 字符串方法 split() & replace()

    split() 语法:stringObject.split(separator) 功能:把一个字符串分割成字符串数组 返回值:Array 说明:separator 是必须的,分隔符. var str= ...

  7. java:static详解

    1.static修饰的变量习惯称为静态变量,static修饰的方法称为静态方法,static修饰的代码块叫做静态代码块. 1)static变量 static变量也称作静态变量,静态变量和非静态变量的区 ...

  8. Bootstrap之javascript组件

    一 模态框 模态框放在body标签里面的,是body标签的子元素 静态实例: <div class="modal fade" tabindex="-1" ...

  9. ueditor编辑器视频上传不能预览的问题

    ps:来源 https://blog.csdn.net/eadela/article/details/76264168 修改ueditor.all.js文件 ueditor.all.js,17769行 ...

  10. vue的子传父

    子组件传值给父组件,需要触发一个事件. 在这个事件里,使用this.$emit("父组件使用的名称","子组件的数据") 在父组件中引用的子组件,在子组件的标签 ...