`
tiantian911
  • 浏览: 228498 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java-review-oo

阅读更多
2008年4月17日 10:07:05
OO:封装(整体性,信息隐蔽)继承多态
对象:某些事物的一个抽象,属性(静态特性),服务(动态特性)
类:具有相同属性的一组对象的集合。

new创建对象的时候,每一个对象的属性占用不同的内存区域,服务是共用的。
static{...}不在任何的方法中,classloader加载的时候按照顺序执行,而且只执行一次。
int-Integer char-Character
特殊类-一般类
protected:可以被子类访问,但是其他的不相干类不能访问。
子类从父类继承到了:父类除了构造之外的所有成员,以及父类从它的父类那得到的所有成员。
子类对象不能访问对象中父类中的private


方法覆盖:在子类中定义跟父类完全一样(名字,返回值,参数)的方法。
方法覆盖不能缩小方法的访问权限,只能相同或扩大(private->public).WHY???
子类方法不能抛出比父类方法更多的异常。
前者抛出的异常必须和后者抛出的异常相同,或前者抛出的异常是后者抛出异常的子类;
是否静态不能改变。

方法覆盖可以用来使成员屏蔽(public->private),是子类不可见(即不提供给子类)。


super对超类对象的引用。
超类构造函数:
在子类的构造的第一行:super(参数表)

父类中有收尾,例如clearUp(),不是finaliz,在子类可以用super.clearUp()来调用。

final用于非抽象。类不能被继承。方法不能被子类的方法覆盖。变量为常量。必须初始化。


多态:同一个符号或名字在不同的环境下有不同的含义。
运行时多态(重载),编译时多态(继承,动态绑定)。
重载:一个类中多个方法,名字相同,参数不同。返回值相同。
运行时找最接近的参数表。

public static void main(String[] args) {
SuperClass superObj = new SuperClass();
SubClass subObj = new SubClass();
SuperClass superReferToSub = subObj;
}

superReferToSub仍然是SC,但是指向的是SubClass。

package practice;

public class Student {

private String name;
private String age;
protected int grade;
public String address;

Student(String id){
System.out.println("Superclass->constructor "+id);
}
public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getAge() {
return age;
}

public void setAge(String age) {
this.age = age;
}

public int getGrade() {
return grade;
}

public void setGrade(int grade) {
this.grade = grade;
}

public void SayHello() {
System.out.println("I'm a student.");
}
}

package practice;

public class Graduate extends Student {
Graduate(){
super("tiantian");
}
public void SayHello() {
System.out.println("I'm a graduate.");
super.SayHello();
}

public static void main(String[] args) {
Graduate g = new Graduate();
g.setName("Lucy");
g.setAge("23");
g.setGrade(2);
g.address = "harbin";
System.out.println(g.grade);
System.out.println(g.address);
g.SayHello();

}

}


2008年4月17日 19:49:55

java允许祖先类引用指向后代类
Student s =  new GraduateStudent()
所以一个引用变量有静态类型和动态类型两种类型。
所谓的运行时多态:在运行的时候决定调用哪个方法,如果子类重写了父类的方法则调用子类的方法,没有重写则只能调用父类的方法。

抽象类:abstract。public abstract class MyAbstractClass,不能实例化,只能继承。
用于建模现实世界中的纯粹抽象概念,鸟,鱼,灯,树。

方法名和形式参数表两部分又合称该方法的基调。-signature by lifuwang
抽象方法只能在抽象类中。
抽象类不一定有抽象方法。包含抽象方法的类一定是抽象类???

接口interface:纯虚
java中interface可以视为特殊的abstract类。只能定义共有的静态常量数据成员(只能是static final public的组合,是组合!必须实例化缺省为psf),只能定义公有的抽象方法(pa)。

public class ControllableDemo {
public static void main(String[] args) {
Television obj = new Television("创维");
Controllable ref = obj;
ref.setPower(Controllable.ON);
if (ref.isPowerOn())
System.out.println(((Television) ref).getTradeMark()
+ "牌电视的电源已经开启!");
}
}
接口的使用:
声明接口的引用,把对象赋值给这个引用,然后就可以使用这个引用去调用实现了这个接口的所有类。

Class PlayMusic implements Runable{void start();}
Class Count implements Runable{void start();}
PlayMusic pm = new PlayMusic();
Count c = new Count();
Runable r = pm;
r.start;
r = c;
r.start;

java中除了.之外所有的双目运算符的两侧都有空格。

2008年4月17日 20:09:38
分享到:
评论

相关推荐

    java回顾、知识整理、拾遗、面试_java-review.zip

    java回顾、知识整理、拾遗、面试_java-review

    Java-review-questions.rar_40_多选题

    这份"Java-review-questions.rar_40_多选题"压缩包显然为准备Java学习者或开发者提供了一份全面的复习资料,旨在帮助他们巩固和提升Java编程技能。其中包含的题目涵盖了从基础语法到高级特性的广泛知识领域。 首先...

    ReviewBoard + Tao-ReviewBoard + SVN 搭建代码审阅平台

    本文将详细介绍如何使用ReviewBoard、Tao-ReviewBoard和SVN搭建一个这样的平台,并解决可能出现的问题。 首先,ReviewBoard是一款开源的代码审查工具,它允许开发者提交代码供其他团队成员审核,提供了一个方便的...

    java-final-review.rar_选择题

    "java-final-review.rar_选择题"这个压缩包文件显然是为了帮助Java学习者进行期末复习而准备的,尤其是针对选择题部分。 选择题在Java考试中常常用于测试学生的概念理解、语法掌握以及问题解决能力。下面我们将深入...

    PyPI 官网下载 | git-review-1.28.0.0a1.tar.gz

    《PyPI官网下载:git-review-1.28.0.0a1.tar.gz详解》 在Python的世界中,PyPI(Python Package Index)是官方的软件仓库,它提供了丰富的Python包供开发者下载和使用。本文将深入探讨PyPI官网下载的资源——`git-...

    JAVA-EE-Review.zip_JAVA EE_JAVA EE

    **JAVA EE概述** Java EE(Java Platform, Enterprise Edition),前身为J2EE,是Oracle公司提供的一个企业级应用开发平台,用于构建分布式、多层架构的服务器端应用程序。它建立在Java SE的基础上,提供了丰富的...

    PDMS-Review

    在PDMS-Review中,视图控制工具栏提供了多种观察方式,包括步行模式(Walkthrough)、飞行模式(Flythrough)、经典模式(Classic)和固定焦点模式(FixedFocus),每种模式都有其特定的操作方式,如平移、旋转、...

    post-review scripts

    "Post-review scripts"正是这样一个工具,用于辅助开发者在使用ReviewBoard进行代码审查时的工作流程。本文将深入探讨Post-review及其替代脚本的相关知识点。 Post-review是一个命令行工具,与ReviewBoard集成,...

    Python库 | git-review-1.21.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:git-review-1.21.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    zyh-code-review.rar

    zyh-code-review.rarzyh-code-review.rarzyh-code-review.rarzyh-code-review.rar

    java review guide java复习资料

    ### Java复习资料知识点详解 #### 一、数组中是否可以包含对象类型和基本类型元素? 在Java中,数组可以包含对象类型的元素,但不能同时包含对象类型和基本类型的元素。这是因为Java中的数组是同质的,即数组中的...

    Java-Into To Computer programing-review-Cheat sheet (level 1)

    Java编程入门复习速查表(一级)是针对加拿大计算机科学专业CST8116“计算机编程导论”课程的期末复习资料,旨在帮助初学者掌握基础的Java编程概念。以下是一些关键知识点的详细解释: 1. **Joyce Farell开发周期**...

    Facebookgit-review.zip

    git-review 为 git 新增了一个很方便的代码 review 途径,利用这个命令,可以调用别的工具比如 vimdiff 来 review代码的改动。 标签:Facebook

    fbx-review-installer

    windows平台fbx查看器

    Tao-reviewboard-master.zip

    Eclipse 代码review 插件,下载后 Tao-reviewboard-master\Tao-reviewboard-master\doc文件夹中Tao-ReviewBoard_UseGuide.docx 使用文档 \updatesite\plugins中的jar 放入eclipse plugins中即可

    Tao-ReviewBoard

    Tao-ReviewBoard是在eclipse上开发的一款ReviewBoard插件,它很好的解决了安装和操作等问题,使reviewboard 的使用更加方便。该插件目前支持ReviewBoard1.6及以上版本。现在,你已经不再需要在本地安装任何其它额外...

    2020-review-3-oo.pptx

    根据提供的文件信息,我们可以深入探讨面向对象编程与设计模式的相关知识点。下面将详细介绍这些概念及其应用。 ### 面向对象编程基础 #### 类与对象的关系 - **类**是对象的模板或蓝图,用于定义对象的数据结构和...

    SAP-ABAP-Certification-Review.pdf

    SAP-ABAP-Certification-Review.pdf

    PyPI 官网下载 | cfn-review-bot-1!20190506.234736.tar.gz

    《PyPI官网下载:探索cfn-review-bot-1!20190506.234736.tar.gz中的Python库》 在Python的开发世界中,PyPI(Python Package Index)是一个至关重要的资源库,它为全球开发者提供了海量的Python库和模块,方便他们...

    软件质量保证-Review V1.1 20100707.ppt

    软件质量保证-Review V1.1 20100707.ppt 软件质量保证-Review V1.1 20100707.ppt

Global site tag (gtag.js) - Google Analytics