Java 面向对象 之 多态
http://www.verejava.com/?id=16992838437553
/**
知识点: 多态 Polymorphism
1. 对象的多态性
分为三种: 方法的重载, 方法的覆盖, 对象的向上向下转型
2. 基本类型的向上向下转型
3. 对象的向上向下转型 : 必须发生在子类和父类之间
注意:
1. 子类对象 可以 转换成父类对象 但是转换后子类属性和方法不可见
当再转换成子类的时候 要强制类型转换
2. 如果直接实例父类然后 转成子类不允许 报异常 ClassCastException
3. 当子类复写了父类的方法, 子类转成父类后 调用的是子类复写的方法。
*/
public class Polymorphism {
public static void main(String[] args) {
//类型的转换
byte a = 1;
int b = 100;
int c = 200;
//小类型 -> 大类型
b = a;
System.out.println(b);
//大类型 -> 小类型 必须经过强制类型转换 并且转换以后可能丢失精度
a = (byte) c;
System.out.println(a);
//对象的向上向下转型
//对象向上转型 子类对象 -> 父类对象 子类对象有些属性和方法不可见
//经典语录(子类是父类) 学生是人
Person p = new Student("李明");
p.say();
//对象向下转型 父类对象 -> 子类对象 必须强制类型转换
// 人可以转换成学生
Student s = (Student) p;
s.say();
s.study();
//Student s2=(Student)new Person();
//s2.say();
}
}
class Person {
public void say() {
System.out.println("说话");
}
}
class Student extends Person {
private String name;
public Student(String name) {
this.name = name;
}
public void say() {
System.out.println("说英语");
}
public void study() {
System.out.println("学习");
}
}

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
Java 面向对象 之 Object 类
http://www.verejava.com/?id=16992832835152 /** 知识点: Object 类 注意: 1. Object 是所有类的根类, 也就是说所有类默认都继承Object 只是省略没有写 2. 当 println()输出一个对象的时候 自动调用了 Object的 toString() 方法 3. Object toString() 方法返回的是 : 类名+@+16进制的哈希码hashCode地址 哈希码 代表对象的内存地址,所以如果比较两个对象的引用相等==必须 哈希码相等 4. Object equals(Object obj) 方法比较的也是引用内部是以==实现的 5. String 对象的equals()方法怎么是比较内容了? 6. 如果要equals()比较两个对象的内容相等我们需要复写equals 方法 7. 当Object的子类复写了 toString() 方法, println()输出时调用子类复写的 toString() 方法 8. 如果复写了equals()方法,为了保证对象相等哈希码hashcode必须相等的特性, 我们也要复写ha...
-
下一篇
jquery列表点击加载更多
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>原生点击按钮加载更多(懒加载,每次加载N个)</title> <style> *{margin: 0;padding:0;list-style: none;} body{background: #333;font-size: 14px;font-family:"微软雅黑"} a{color: #333;text-decoration: none;} .hidden{ display: none;} .lanren{width: 800px;height: auto;margin:0 auto;overflow: hidden;text-align: left;background:#fff;padding:5px;} .lanren ul.list{overflow:...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker容器配置,解决镜像无法拉取问题
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- 2048小游戏-低调大师作品
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- MySQL数据库在高并发下的优化方案
- Dcoker安装(在线仓库),最新的服务器搭配容器使用
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题