Java4Android基础学习之面向对象应用

  其实这里说的应用只是利用前面学过的知识综合起来,模拟一个非常简单的项目——打印机。

1、先是做一个打印机打印,

public class father {
    void turn_on(){
        System.out.println("turn on");
    }

    void turn_off(){
        System.out.println("turn off");
    }

    void  print(String s){
        System.out.println("print " + s);
    }
}
public class test {
    public static void main(String args []){
        father p = new father();

        p.turn_on();
        p.print("a");
        p.turn_off();
    }
}

这样很简单就实现了开机,关机,打印

2、然后是增加了打印机的个数;

  1)这里就使用继承,因为如果一个打印机写一个类的话,那将产生很多重复代码(不管什么打印机都有开机,关机,打印这几个功能);

  2)每个打印机的类里面写他特有的方法,若父类中继承来的方法不满足要求的话,就在子类中重写,利用 super来调用父类中的函数;

  如:

//父类
public class father {
    void turn_on(){
        System.out.println("turn on");
    }

    void turn_off(){
        System.out.println("turn off");
    }

    void  print(String s){
        System.out.println("print " + s);
    }
}
//打印机1
public class hpprint extends father{

}
//打印机2
public class canno extends father{
    void clean(){
        System.out.println("Clean");
    }

    void turn_off(){
        this.clean();
        super.turn_on();
    }
}
//主函数
public class test {
    public static void main(String args []){
        father p = new father();

        p.turn_on();
        p.print("a");
        p.turn_off();
    }
}

这样的话就能减少很多重复代码,试想下,如果有十台打印机的话,就比每个类里都写开机,关机这些函数效率要高得多多的了。

  这个模拟的项目正好把前面学到的知识都联系起来了,再次回顾了一篇,加深印象。

时间: 2024-11-04 08:18:02

Java4Android基础学习之面向对象应用的相关文章

java基础学习05(面向对象基础01--类实例分析)

面向对象基础01(类实例分析) 实现的目标 1.如何分析一个类(类的基本分析思路) 分析的思路 1.根据要求写出类所包含的属性2.所有的属性都必须进行封装(private)3.封装之后的属性通过setter和getter设置和取得4.如果需要可以加入若干构造方法 5.再根据其它要求添加相应的方法6.类中的所有方法都不要直接输出,而是交给被调用处调用 Demo 定义并测试一个名为Student的类,包括属性有"学号"."姓名"以及3门课程"数学".

java基础学习——对面向对象的重识

最近几天在看java的视频,感觉很多东西java语法上很像c#,但是还是有很多内容惊到我: 1,java虚拟机 用过VMWar或者VirtualBox的童鞋都对"虚拟机"这个词有个大致的了解,虚拟机提供了个虚拟的平台,让我们可以模拟一些脱离硬件的环境.java里的虚拟机起到了一个类似以前学过的ODBC驱动程序的作用,它屏蔽了底层的差异,让操作系统通过虚拟机向下面看去,操作系统的感觉都是一样的. 有了这一层东西,我们彻底解开了底层硬件和运行操作系统之间的耦合,实现了一次编译,到处运行的梦

java基础学习05(面向对象基础02)

面向对象基础02 实现的目标 1.String类的使用 2.掌握this关键字的使用3.掌握static关键字的使用 String类 实例化String对象一个字符串就是一个String类的匿名对象,就是已经开辟了堆内存空间的并可以直接使用的对象.1.采用直接赋值的方式进行操作. String name = "zhangsan"; 使用这种方式,如果一个字符串已经被一个名称所引用,则以后再有相同的字符串声明时,就不会再开辟内存空间.2.直接调用String类的构造方法(public S

java基础学习总结——面向对象1

目录 一.面向过程的思想和面向对象的思想 二.简单理解面向对象 三.面向对象的设计思想 四.对象和类的概念 五.如何抽象出一个类? 六.类(对象)之间的关系 七.Java与面向对象 八.为什么使用面向对象编程? 一.面向过程的思想和面向对象的思想 面向对象和面向过程的思想有着本质上的区别, 作为面向对象的思维来说,当你拿到一个问题时,你分析这个问题不再是第一步先做什么,第二步再做什么,这是面向过程的思维,你应该分析这个问题里面有哪些类和对象,这是第一点,然后再分析这些类和对象应该具有哪些属性和方

java基础学习_面向对象(上)01_day07总结

==========================================================================================================================================================涉及到的知识点有:1:面向对象(掌握) (0)面向过程和面向过程开发 (1)面向对象思想概述 (2)面向对象的思想特点 (3)把大象装进冰箱(理解) (4)类与对象的关系 (5)类的定义及使用

java基础学习_面向对象(上)03_day08总结

==========================================================================================================================================================涉及到的知识点有:0:前面学习通过方法对代码进行改进,为什么要给方法使用静态呢?1:Java如何制作帮助文档(API)(了解)2:通过JDK提供的帮助文档(API)学习了Math类(掌握)3:

Java4Android基础学习之包与访问权限

1.包 1)包:将类打包,同时限定了访问权限 2)包的创建,package + 包名  (包名一般由域名 + 具体名)如: package com.baidu; public class person { } 此段代码就实现了将person打包到com/baidu中  , 其中报名是域名  + 具体 名:   这里这个类的全名为  com.baidu.person. 3)包的导入,使用import + 包名.类名 进行导入,如: import pack.person; public class

Java4Android基础学习之对象的转型

对象的转型可分为向上转型和向下转型 1.向上转型 1)将子类的对象赋值给父类的引用 2)一个引用能够调用哪些变量和函数,取决于这个引用的类型,如: //父类 class father{ String name; int age; } //子类 class son extends father{ String address; } 如果定义一个son类的p,则p只能调用address,因为p是son类的,而son类中只有address. 3)一个引用调用的是哪个方法,取决与这个引用所指向的对,如:

Java4Android基础学习之复写(override)

1.复写(override) 1)存在与父类和子类之中: 2)父类和子类中各有一个函数,这两个函数名字,返回值类型,参数列表,完全一样,这就称之为这两个函数之间的关系为复写(override);如: //父类 class father{ void function(){ System.out.println("父类的函数"); } } //子类 class son extends father{ void function(){ System.out.println("子类的