【Java学习-J.160525.0.19】Java 面向对象以及类与类的继承
2016-05-25 22:10
260 查看
面向对象
什么是对象(object)
object相当于中文语义中的‘东西’Object是指一个具体事物的实例,比如飞机 空气等一些看得见看不见的,具体的抽象的统统是对象,总之一切皆对象。
OOA(面向对象分析)和OOD(面向对象设计)
OOAD 是现代企业中广泛使用的一种对软件进行设计与分析的一种技术。要求在设计中要映射现实世界中指定问题中的对象和实体。以最最最自然的方式表达实体(能够构建与现实世界相对应问题的模型)。面向对象的概念
类:指一个名词 如人、厨师等引用变量:指具体实例的代词(变量,给对象起个名字)
对象:个体实例,具体的,实例化的
行为:软件的最小单元。(方法/函数)
多态:行为或引用,在具体情形下发生变化的现象
封装:任何对象实例都要尽可能的进行封装,减少暴露。它的实现细节对你隐藏的,看不见。
继承:抽取软件的共同性进行代码的复用,减少开发成本
类
类的组成:1、类的声明
2、类的属性
3、构造器
特点:
a.Java构造器声明在类的内部
b.构造器与类名要相同
c.构造器无返回值
d.构造器可以重载(名字一样,功能不一样)
e.构造器一定被调用(创建对象的时候)
f.构造器只能被调用一次
4、对象的方法
<span style="font-size:14px;">public class Book { /** * 在图书管理系统中有个概念 书 * 书的特征是:书号,书名,作者,价格 */ //声明变量(全局变量,成员变量,实例变量) long id;//书号 String name;//书名 String[] authors;//作者们 double price;//价格 public Book() { System.out.println("调用BOOK的构造器"); } public void print(){ </span><pre name="code" class="java"><span style="font-size:14px;"> System.out.println("调用print方法");</span>
}
}
注意的是:在创建对象的同时,JVM会隐式调用构造器,如果程序员没有手动创建构造器,JVM虚拟机会默认给当前对象创建一个无参构造器。如果程序员手动创建构造器,那么JVM虚拟机将不再提供任何构造器。
类的层级继承
特点:1.最终的继承类一定包含所有类中的所有非私有的属性及功能2.子类一旦实例化对象,一定会递归分配父类空间并且,父类无参构造器一定会被执行。如果想要执行父类有参构造器需要super关键字去调用。 super关键字就是用来调用父类资源的。
例如有A、B、C三个类 B继承A C继承B
类A代码如下:
<span style="font-size:14px;">public class A { int a=1; public void print(){ System.out.println("这是A的print方法"); } public A(){ System.out.println("这是A的无参构造器"); } public A(int a){ System.out.println("这是A的有参构造器"); } }</span>类B代码如下:
public class B extends A{ int b=2; public B(){ System.out.println("这是B的无参"); } public B(int b){ System.out.println("这是B的有参"); } @Override public void print() { System.out.println(); } }
类C代码如下:
<span style="font-size:14px;">public class C extends B { public C() { System.out.println(this.a); System.out.println(this.b); } public C(int a) { super(a); System.out.println(a); } public static void main(String[] args) { C c=new C(1000); c.print(); } @Override public void print() { // TODO Auto-generated method stub super.print(); } }</span>
其中在类C中运行main方法,其结果如下:
(2015-5-25复习)
相关文章推荐
- 第一章 JAVA入门 Framework层之Libraries
- 深入总结 Spring MVC
- Java 之类的加载顺序
- Eclipse中的Maven插件运行项目中的Goals设置
- 设计模式的学习——工厂模式
- JAVA泛型 一
- 配置java 和tomacat环境过程
- Java IO - CharArrayReader&CharArrayWriter
- maven搭建ssm分模块框架 (myeclipse版) (二) 较详细版
- java 基础拾漏
- 第一个算法优化例子
- Java synchronized详解
- java享元设计模式
- Java语言的发展及其特点
- Java入门篇
- 关于java中一些代码的理解
- javaSE 模拟Spring框架的Ioc
- Java系统工具jps原理解析
- Spring 计划 7.0
- Java中HashMap、TreeMap的区别