Java学习笔记--继承和多态(下)
1.通过继承来开发超类(superclass)
2.使用super 关键词唤起超类的构造方法
3.在超类中覆盖方法
4.区分override和overload
5.在Object类中探索toString()类
6.发现多态性和动态绑定
7.描述解释为什么向下转型是必须的
8.在Object类中探索equals 方法
9.存储,取回,实现ArrayList的对象
10.使用ArrayList类实现Stack
11.超类中使用数据和方法,protected
12.使用final模块来禁止类和方法的覆盖
9.存储,取回,实现ArrayList的对象
ArrayList类,这个类对于存储对象来说很有用,你可以创建数组来存储对象,但是一旦数组创建完毕,它的大小已经固定了。Java提供了ArrayList类用来存储不限量的对象。
ArrayList 方法区
ArrayList() | 创建一个空的类 |
add(o:Object): void | 在列表的末尾加入一个元素 |
add(index: int, o:Object): void | 在列表的某个特殊位置加入对象 |
clear():void | 将列表清空 |
contains(o: Object):boolean | 是否包含某个对象 |
get(index: int):Object | 返回某个位置的元素 |
indexOf(o: Object ) : int | 返回某个元素的位置 |
isEmpty():boolean | 判断是否为空的列表 |
lastIndexOf(o: Object): int | 最后一个对象的位置 |
remove(o : Object): boolean | 匹配元素并从表中移除 |
size(): int | 表的大小 |
set(index: int, o:Object):Object | 设置某个位置上的元素 |
TestArrayList.java
public class TestArrayList {public static void main(String[] args){java.util.ArrayList cityList = new java.util.ArrayList();cityList.add("Beijing");cityList.add("Shanghai");cityList.add("Tianjin");cityList.add("Xiamen");cityList.add("Fuzhou");System.out.println("List Size?"+cityList.size());System.out.println("Is Guangzhou in the list ? The answer is "+cityList.contains("Guangzhou"));System.out.println("The location of Shanghai in the list? The answer is "+cityList.indexOf("Shanghai"));System.out.println("Is the list is empty? The answer is "+ cityList.isEmpty());cityList.add(2, "Hangzhou");cityList.remove("Tianjin");cityList.remove(1);System.out.println(cityList.toString());for(int i = cityList.size()-1 ;i>=0;i--)System.out.println(cityList.get(i)+" ");} }
显示结果如下
这个对象当成字符串数组来使用,如果说存储对象了?
添加以下代码
list.add(new Circle(1, 2.5)); list.add(new Circle(2, 15.5));for (int i = 0 ; i<2;i++)System.out.println("The area of the circle"+((Circle) list.get(i)).number() + " is + "+ (Circle)list.get(i).GetArea() );
在原本没进行类型转换的时候会发现编译器报错了
关于类型转换可以参考以前的笔记。
10.使用ArrayList类实现Stack
关于栈的使用,Stack栈也是一种线性表,只不过这种线性表比较特殊,只能在表尾进行插入和弹出,对上面的例子进行更改,push和pop,只要在push方法中调用对应的方法。
数据区域
存对象
size
方法区
push: 找到队尾进行插插入
pop:找到队尾,进行get(index: int):Object并删除队尾 +remove(index: int): boolean
GetTop: 按照ArrayList类的方法修改即可
11.超类中使用数据和方法,protected
如果想要子类获得父类的数据和方法,非子类不能访问这些数据和方法。
将前面所学 public private protected
public 区域块块可以修改,pirvate 的区域块 子类不能够直接访问, protected的区域块可见但是不可改。
数据和方法的可见性
其他类 | 相同包 | 子类 | 不同包 | |
public | true | true | true | true |
protected | true | true | true | -- |
defaul | true | true | -- | -- |
private | true | -- | -- | -- |
12.使用final模块来禁止类和方法的覆盖
final 关键词
public fina class c{ ..... }
public class Test{public final void main(){.......} }
转载于:https://www.cnblogs.com/rynerlute/p/6396259.html
Java学习笔记--继承和多态(下)相关推荐
- Java学习笔记类对象多态继承(下)
面向对象(下) 1.类的继承 一.什么是继承,有什么用? 继承:在现实世界当中也是存在的,例如:父亲很有钱,几子不用努力也很有钱 继承的作用: 基本作用:子类继承父类,代码可以得到复用.(这个不是重要 ...
- Python 学习笔记 -- 继承与多态(入门级实例)
1 #继承 2 #假设有不同品种的鱼,它们的蛋白质含量都不同,那么我们吃掉这些鱼获得的效果也应该不同 3 #---------------------------------------------- ...
- java学习笔记day09 final、多态、抽象类、接口
java学习笔记day09 思维导图 final . 多态 . 抽象类 . 接口 (都很重要) 一.final 二.多态 多态中的成员访问特点⭐ [P237] 多态的好处 [P239] 多态的弊端 向 ...
- java学习笔记6--类的继承、Object类
接着前面的学习: java学习笔记5--类的方法 java学习笔记4--类与对象的基本概念(2) java学习笔记3--类与对象的基本概念(1) java学习笔记2--数据类型.数组 java学习笔记 ...
- 尚学堂Java学习笔记
尚学堂Java学习笔记 ============================ J2SDK&JRE J2SDK:JAVA2 SOFTWARE DEVELOPMENT KIT JRE:JAVA ...
- 郑志远的java学习笔记
郑志远的java学习笔记 郑志远 CCB 1 Java起源 略 2 Java语言概述 1.面向对象编程的3个原则:封装(encapsulation).继承(inh ...
- 《Java学习笔记(第8版)》学习指导
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...
- java学习笔记:全部,txt版本
java学习笔记:全部,txt版本 笔者注: 1.不知道怎么上传附件,所以就把txt文本内容全部贴在这里吧. 2.已经把txt版本的笔记上传到CSDN了,我没有设置索要积分才能下载,但是不知道为什么C ...
- c语言/c++转Java学习笔记---基础问题
c语言/c++转Java学习笔记---基础问题 1.java注释 2.数组的定义和使用 定义 使用 3.类 4.this 的使用 5.继承 6.super的使用 7.包 8.修饰符 成员的访问控制符( ...
最新文章
- esp8266 wifi模组手机一键配网,配置一次,下次重启设备后不需再进行配网
- HTTP中request请求参数的设置
- matlab访问数组的元素,使用分类数组访问数据
- 组件库实战 | 用vue3+ts实现全局Header和列表数据渲染ColumnList
- 前端学习(2445):分页的实现
- rhel6上使用udev配置oracle asm,在RHEL6上用UDEV配置ASM
- Javascript实现子窗口向父窗口传值(转)
- 2019年7月19日星期五(交叉编译工具)
- GARFIELD@03-23-2005
- Redisson 3.13.6 发布,官方推荐的 Redis 客户端
- Director 介绍
- AVR单片机学习笔记
- iPhone 13 投屏到 Windows 10 的办法
- 模糊聚类及matlab实现,模糊聚类分析及matlab程序实现
- Java设计模式学习总结
- 天昊16S扩增子绝对定量测序项目文章登陆《Bioresource Technology》
- 实操:WDS安装win系统
- 见证一张CAD图如何蜕变成一个高大上的三维地形模型(一)
- cubemx+stm32f407+双Can通信
- 设计c语言程序得到回文数,C语言程序设计实训题目.pdf
热门文章
- Shiro切入Spring的方式
- [转]COPY OR MOVE FILES AND FOLDERS USING OLE AUTOMATION
- PowerDesigner导入SQL脚本
- Eclipse上安装springsource-tool-suite
- 团队冲刺站立会议03
- [转载] 杜拉拉升职记——23 “You deserve it”的两种解释
- 借助 Subversion 进行版本控制
- Andriod开发中正确引入jar包的方式
- tomcat启动时出现错误
- Android---手动创建线程与GUI线程同步(三)