java 入门 第二季4
1. 多态
继承是多态的实现基础
引用的多态
父类的引用可以指向本类的对象
父类的引用可以指向子类的对象
方法的多态
创建本类对象时,调用本类方法
2种是调用子类的方法或继承的方法
子类中添加独有的方法时,不能通过父类的引用来调用方法
2. 多态中引用类型转换
向上类型转换:将小类型转换为大类型(隐式类型转换)
向下类型转换(强制类型转换):将大类型转换为小类型
instanceof运算符:一个引用是够是某个类型或某个类型的子类
3. java中的抽象类
1)abstract 关键字 定义抽象类
2)abstract定义抽象方法,只有声明,不需要实现
3)包含抽象方法的类都是抽象类(定义了抽象方法的)
4)抽象类中可以有普通方法,可以有抽象方法,也可以没有抽象方法
5)抽象类不能直接创建,可以定义引用变量
抽象类约束子类必须有哪些方法,不关注实现细节
抽象方法没有方法体,以分号结束
子类一定要继承抽象类
public abstract class TelPhone(){
public abstract void call();
public abstract void message();
}
public class CellPhone extends TelPhone(){
@override
public void call(){
System.out.println("打电话");
}
public void message(){
System.out.println("发短信");
}
}
4.java中的接口
接口是一种特殊的类,由全局常量和公共的抽象方法所组成
接口是一种规范,规范类的。被继承,或遵守实现的
关键字 interface
[修饰符] abstract interface 接口名[extends 父接口1,。。。]
{
}
修饰符一般是public
常量:接口中的属性是常量,即使定义时不添加public static final,系统也会自动加上
方法:都是抽象方法
方法的修饰符不能是private和protected
使用接口,一个类可以实现一个或多个接口,实现接口使用implements 关键字,java中一个类只能继承一个父类,不够灵活,通过实现多个接口可以做补充
接口命名时,加一个I
public interface IPlayGame(){
public void playGame();
}
public class SmartPhone extends Telphone imlements IPlayGame(){
}
接口引用,可以指向实现接口的类
IPlayGame ip1=new CellPhone();
ip1.playGame();
匿名内部类:
IPlayGame ip3=new IPlayGame(){
public void playGame(){
System.out.println("使用匿名类玩游戏");
}
};
ip3.playGame();
直接new接口,直接调用接口中的方法
new IPlayGame(){
System.out.println("2使用匿名内部类玩游戏");
}.playGame();
UML简介
统一建模语言
常用UML图
用例图:角色需要什么功能
序列图:角色与系统发生的关系
类图:类与类之间的关系
java 入门 第二季4的更多相关文章
- JAVA入门第二季(mooc-笔记)
相关信息 /** * @subject <学习与创业>作业1 * @author 信管1142班 201411671210 赖俊杰 * @className <JAVA入门第二季&g ...
- Java入门第二季学习总结
课程总概 该门课程作为java入门学习的第二季,是在有一定的java基础上进行的进一步学习.由于该季涉及到了java的一些核心内容,所以相对第一季来说,课程难度有所提升.大致可将该季的课程分为五部分: ...
- JAVA入门第二季 第一章 类和对象
面向对象编程 Object Oriented Programming OOP 第一.什么是类和对象 在具体说明类和对象之前,先说说别的. 眼睛在人类身体上最为有用的器官.如果一个没有了眼睛,这个人与世 ...
- Java入门第二季第2章封装
什么是 Java 中的内部类 问:什么是内部类呢? 答:内部类( Inner Class )就是定义在另外一个类里面的类.与之对应,包含内部类的类被称为外部类. 问:那为什么要将一个类定义在另一个类里 ...
- 《Java入门第二季》第四章 多态
Java 中的多态1.引用的多态:意思就是父类的句柄既可以持有本类的对象,也可以持有子类的对象. 2.方法的多态:注意点是当父类句柄持有子类对象的时候,无法调用子类特有的方法. 多态中的引用类型转换1 ...
- java 入门 第二季3
1.继承 1.java是单继承的,一个子类只有一个父类 父类,基类 子类,派生类 2.继承的好处:子类拥有父类的所有属性和方法,属性的修饰符不能是private 3.语法规则: class 子类 ex ...
- java 入门 第二季2
(1). 封装 封装类的时候属性用private,方法getter和setter用public 将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问 ...
- java 入门 第二季1
(1). 类和对象(java 语言是面向对象的) 1). 类是对象的类型 具有相同的属性和方法的一组对象的集合 类:属性和方法 定义类: 类名 属性 方法 //class为关键字 2.定义类时,首字母 ...
- Java入门第二季第一章类和对象知识点
Java 中的 static 使用之静态方法 1. 静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员.如: 如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问 ...
随机推荐
- thinkphp 项目分组 -开发随笔1
php中变量的声明, 和变量的初始化 是结合在一起的, 要声明变量, 就是通过初始化变量来实现的. 感觉页面版式的布局, 还是: 先大致规划出布局, 如两栏 三栏, 一览的左右上下结合, 搭配. 然后 ...
- Linux下的特殊权限SetUID
1.SetUID的功能 只有可以执行的二进制程序才能设置SUID权限 命令执行者要对改程序拥有x执行权限 命令执行者在执行改程序的时候获得该程序文件属主的身份(在执行程序的过程中灵魂附体为文件的属性) ...
- 关于外部引用JS,中文乱码的问题
asp.net 页面默认编码为UTF-8, 如果js嵌套写在asp.net中,不会导致中文乱码,因为他们具有相同的编码 外部引用js由于编码格式与asp.net的编码不同,javascript编码默认 ...
- Mac OS X 11以上系统的Rootless机制问题
由于项目紧,系统一直停留在10版本,最近清闲之后,第一件事就是升级了系统,到11El Capitan版本. 本来想着随便升级了,可能有好玩的东东,结果好玩的木有看见,项目开发环境崩溃了,何其衰耶? 废 ...
- Android应用中返回键的监听及处理
MainActivity: package com.testnbackpressed; import android.os.Bundle; import android.view.KeyEvent ...
- Effective Java 读书笔记之九 并发
一.访问共享的可变数据时要同步 1.synchronized关键字既然保证访问的可见性也能保证原子性.而volatile修饰符只能保证变量的线程可见性. 2.增量操作符等不是原子性,多线程操作时可能导 ...
- jQuery源码笔记(一):jQuery的整体结构
jQuery 是一个非常优秀的 JS 库,与 Prototype,YUI,Mootools 等众多的 Js 类库相比,它剑走偏锋,从 web 开发的实用角度出发,抛除了其它 Lib 中一些中看但不实用 ...
- maven项目部分知识
1.maven项目在pom.xml中用add dependencies加入jar包,搜索不到jar包的解决方案: Window --> Show View --> Other输入mave ...
- 有关lucene的问题
1.异常:Lock obtain timed out: NativeFSLock 原因:没有及时关闭indexWriter或者indexReader,lucene进行读写的时候会在文件夹里面创建loc ...
- Python学习笔记一
原来Python的文件配置好环境变量直接双击就可以运行,当然也可以控制台+编辑器 first try: import turtle window=turtle.Screen() babbage=tur ...