java - day13 - ImplementDemo
接口实现、继承等关系的运用案例
P.S: 强制转换,看引用变量指向的对象与目标数据间的关系。
可运用 "引用变量 instanceof 目标数据" 来判断是否可用强转
package com.implementdemo; /*接口实现、继承等关系的运用*/
public class ImplementDemo {
public static void main(String[] args){
Abs x = new Aoo(); /*
Aoo xx = (Aoo)x; //可完全访问Aoo,强转
x.b();
xx.a();
x.a();
*/ //无法访问 /*
* 强制转换,看引用变量指向的对象,
* 即是看该对象与目标数据之间的关系
* */
if(x instanceof Boo){
Boo xx = (Boo) x;
xx.b();
xx.num2 = 5; //ClassCastingException 类型转换异常
} if(x instanceof Inter1){
Inter1 xx =(Inter1) x;
xx.a();
} Inter1 y = new Aoo(); //向上造型
}
} interface Inter1{
abstract void a();
}
abstract class Abs{
public abstract void b();
} class Aoo extends Abs implements Inter1{
int num1;
public void a(){
System.out.println("a");
}
public void b(){
System.out.println("b");
}
}
class Boo extends Abs {
int num2;
public void b(){}
}
java - day13 - ImplementDemo的更多相关文章
- java - day13 - UnionPay
银行功能实现,主要为抽象类及接口的运用 package com.javatest.bankimple; /* UnionPay */ //银联接口 public interface UnionPay ...
- 尚学堂 JAVA Day13 abstract 关键字
Abstract (抽象的) 这是一个关键字. 可以且只可以 用来修饰 <类> <方法>. 1---Abstract 类 如:Animal,可以被理解一个抽象的类.动物嘛,只是 ...
- Java 中 常用API概述之 Math, Object, String,StringBuffer类,Arrays,Integer类
Math Math类包含执行基本数字运算的方法,如基本指数,对数,平方根和三角函数. 与StrictMath类的一些数字方法不同,Math类的StrictMath所有Math都没有定义为返回比特位相同 ...
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- 【JAVA零基础入门系列】Day13 Java类的继承与多态
继承是类的一个很重要的特性,什么?你连继承都不知道?你是想气死爸爸好继承爸爸的遗产吗?(滑稽) 开个玩笑,这里的继承跟我们现实生活的中继承还是有很大区别的,一个类可以继承另一个类,继承的内容包括属性跟 ...
- 【Java入门提高篇】Day13 Java中的反射机制
前一段时间一直忙,所以没什么时间写博客,拖了这么久,也该更新更新了.最近看到各种知识付费的推出,感觉是好事,也是坏事,好事是对知识沉淀的认可与推动,坏事是感觉很多人忙于把自己的知识变现,相对的在沉淀上 ...
- java基础-day13
第01天 java面向对象 今日内容介绍 u 继承 u 抽象类 第1章 继承 1.1 继承的概述 在现实生活中,继承一般指的是子女继承父辈的财产.在程序中,继承描述的是事物之间的所属关系,通过继 ...
- java 多线程 day13 condition 线程通信
/** * Created by chengtao on 17/12/5. * Condition 类似 wait和notify,解决线程间的同步问题 */ import java.util.conc ...
- Java之路---Day13
2019-10-28-22:40:14 目录 1.Instanceof关键字 2.Final关键字 2.1Final关键字修饰类 2.2Final关键字修饰成员方法 2.3Final关键字修饰局部变量 ...
随机推荐
- 原始DAO开发
1,pojo package com.songyan.dao; import com.songyan.pojo.Student; public interface StudentDao { publi ...
- 语言基础之description方法
1.description方法的一般用处 1: // 指针变量的地址 2: NSLog(@"%p", &p); 3: // 对象的地址 4: NSLog(@"%p ...
- HTML-DEV-ToolLink(常用的在线字符串编解码、代码压缩、美化、JSON格式化、正则表达式、时间转换工具、二维码生成与解码等工具,支持在线搜索和Chrome插件。)
HTML-DEV-ToolLink:https://github.com/easonjim/HTML-DEV-ToolLink 常用的在线字符串编解码.代码压缩.美化.JSON格式化.正则表达式.时间 ...
- FSLib.Extension库
FSLib.Extension库是一个用于.NET的扩展函数库,所提供的函数和方法均使用扩展方法引入,包含数以百计的用于日常编写程序时使用的扩展方法. http://www.fishlee.net/s ...
- USB High Speed Inter-Chip (HSIC) IP: What is it? And why should I use it?
来源: https://www.synopsys.com/dw/dwtb.php?a=hsic_usb2_device What is HSIC? HSIC (High-Speed Inter-Chi ...
- 【mybatis】mybatis中update更新原来的值加1
示例代码: floor的值 = floor原来的值+要更新的差距值 <update id="updateFloor" parameterType="com.pise ...
- u-boot修改出错的问题
一.u-boot找不到nandflash 我用的开发板是fl2440的,里面没有norflash只有nandflash.我用了s3c2410的u-boot改的,所以要把内核从norflash启动改成适 ...
- volatile型变量自增操作的隐患
用FindBugs跑自己的项目,报出两处An increment to a volatile field isn't atomic.对应报错的代码例如以下: volatile int num = ...
- 【Cocos2d-x 3.0 基础系列一】 各类回调函数写法汇总
一.button回调 1. Lambda 表达式,C++11 Lambda 赋予了Cocos2d-x 3.0创建回调函数的灵活性. auto itemNor = Sprite::create(&quo ...
- mysql 将查询出来的某一字段组合成字符串
select GROUP_CONCAT(id) as ids from yii_role_menu where roleId=1;