Java学习笔记(持续更新中...)

1.为了继承,一般的规则是:将所有数据成员都指定为private,所有的方法指定为public

2.在继承过程中,需要先声明“新类和旧类相似”,用关键字“extend”实现。这么做,会得到基类中的所有域和方法

3.在继承关系中,如果导出类和基类有相同的方法,但你想在导出类中调用从基类继承来的方法,可以用关键字“super”来表示超类,用表达式“super.functionname()”来调用基类版本的functionname();并且,如果没有默认的基类构造器,或者想用一个带参数的基类构造器,就必须用关键字“super”显式地编写调用基类构造器的语句,并且配上适当的参数列表

class Game1 {
    Game1(int i){
        System.out.println("Game1 costructor");
    }
}
class BoardGame extends Game1{
    BoardGame(int i){
        super(i);
        System.out.println("BoardGame costructor");
    }
}

public class Chess extends BoardGame{
    Chess(){
        super(11);
        System.out.println("Chess costructor");
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Chess xChess = new Chess();
    }

}/*output:
Game1 costructor
BoardGame costructor
Chess costructor*/

4."is-a(是一个)"的关系用继承来表达,"has-a(有一个)"的关系用组合来表达

“向上转型”即由导出类转成基类,是一个从较专用的类型转换为较通用的类型的过程

在OOP中,尽管多次强调“继承”,但应慎用这种技术。“组合”是在新类中嵌入某个对象,让其实现所需功能,但新用户看到的只是为新类定义的接口,而非所嵌入对象的接口,成员对象对自身都隐藏了具体实现,这种做法是安全的。因此,如果需要从新类向基类进行向上转型,则“继承”是必要的,否则,最好使用“组合”。

时间: 2024-10-10 23:47:58

Java学习笔记(持续更新中...)的相关文章

图像处理 基于Visual C++编程 学习笔记 持续更新中。。。

2015-4-26 新建一个工程,安装MSDN文档 File -new - win32application- a simple win32 app Dos操作系统是 16位操作系统 2^16=65535 ,内存为16k win32操作系统(window95以后的系统) 32位 2^32 内存约为4G 进入后可以试着编译运行这样一段话 tip:选中MessageBox 按F1可以看到MSDN的相关文档, 选中MB_OK 按F12可以看到它的宏定义 int MessageBox( HWND hWn

linux学习资料持续更新中

一.LINUX基础教程 1.老男孩系列免费视频: 1) linux高薪入门实战视频教程(第二部)老男孩linux教程 http://edu.51cto.com/course/course_id-1035-page-1.html 2) 跟着老男孩从0开始一步步实战深入学习linux运维(三) http://edu.51cto.com/lesson/id-11909.html linux学习资料持续更新中,布布扣,bubuko.com

nodejs学习(持续更新中)

nodejs和express的安装什么的,网上基本都有现成的了,这里有点说下, 在较早点的版本(如3.5.0) npm install -g [email protected] 后,可以直接使用 express helloWorld创建工程, 但最新express4.0版本中将命令工具分家出来了(项目地址:https://github.com/expressjs/generator),所以我们还需要安装一个命令工具,命令如下:npm install -g express-generator ##

[Hadoop] Hadoop学习历程 [持续更新中…]

1. Hadoop FS Shell Hadoop之所以可以实现分布式计算,主要的原因之一是因为其背后的分布式文件系统(HDFS).所以,对于Hadoop的文件操作需要有一套全新的shell指令来完成,而这就是Hadoop FS Shell.它主要是用于对Hadoop平台进行文件系统的管理. 有关HDFS的介绍博客请移步:Hadoop学习笔记之Hadoop基础. 有关Hadoop FS Shell的学习文档:Hadoop FS Shell学习文档. 2. Hadoop Streaming 我们知

读《Oracle从入门到精通》笔记--持续更新中

第一章 Oracle 11g概述 1.6节 启动与关闭数据库实例 启动数据库: Startup [nomount|mount|open|force][resetrict][pfile=filename] 解释:nomount ---> 表示启动实例不加载数据库 mount ---> 表示启动实例.加载数据库并保持数据库的关闭状态 open ---> 表示启动实例.加载并打开数据库(默认选项) force ---> 表示终止实例并重新启动数据库 resetrict  --> 用

[莫比乌斯反演]【学习笔记】[更新中]

参考资料: [大部分还没看完,目前主要看了popoqqq那篇 orz] http://wenku.baidu.com/link?url=Kzzxkk64CFU7sfDeJbGKNpZpFJzJY1ZwNoaPgGo7tPSpv4KJvGAkStkpzytG46gjQuqNX7NB0merxfS4knD2H5fw7s4oHu1o1-6p16_VbEm http://wenku.baidu.com/view/77396ebb27d3240c8547ef2e.html?re=view 浅谈一类积性函数

Git学习笔记(持续更新)

强制同步为远程的代码 远程仓库回退了commit的情况下(第2条描述之情况),强制同步远程的代码到本地 #更新远程最新的所有代码,但是不merge或者rebase git fetch --all #直接reset到master,也就把刚才fetch的更新了 git reset --hard origin/master 回退版本 #回退本地版本git reset --hard <commit_id>#强制提交到服务器 git push origin HEAD --force 新建分支和远程分支

Semantic ui 学习笔记 持续更新

这个semantic 更新版本好快~ 首先是代码的标识<code></code> 具体样式就是红框这样的 圈起来代码感觉不错 不过要在semantic.css里在加上如下样式~ code { background-color: rgba(0, 0, 0, 0.02); box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1); display: inline-block; font-family: "Monaco","Menlo

es2015(es6)基础部分学习笔记(更新中...)

1.let let可以声明块级作用域变量 1 'use strict'; 2 3 if (true) { 4 let app = 'apple'; 5 } 6 7 console.log(app); //外面是访问不到app的 2.const const可以声明常量 1 'use strict'; 2 3 const app = 'apple'; 4 console.log(app); 5 6 const app = 'peach'; 7 console.log(app); //报错,常量不能多

oracle学习笔记 持续更新

1.创建表空间DATA_BASIC (1)Orale用户登录系统 (2)sqlplus / as sysdba; DBA用户登录数据库: 执行:create tablespace TAB_STS_BASIC datafile     '/oracle/app/uboss/oradata/UBOSS/datafile/uboss_def01.dbf' size 512M; --路径要根据实际情况修改: select * from dba_data_files可以查到数据文件存放路径 2.创建数据库