首页 > 代码库 > java - day13 - ImplementDemo
java - day13 - ImplementDemo
接口实现、继承等关系的运用案例
P.S: 强制转换,看引用变量指向的对象与目标数据间的关系。
可运用 "引用变量 instanceof 目标数据" 来判断是否可用强转
1 package com.implementdemo; 2 3 /*接口实现、继承等关系的运用*/ 4 public class ImplementDemo { 5 public static void main(String[] args){ 6 Abs x = new Aoo(); 7 8 /* 9 Aoo xx = (Aoo)x; //可完全访问Aoo,强转 10 x.b(); 11 xx.a(); 12 x.a(); 13 */ //无法访问 14 15 /* 16 * 强制转换,看引用变量指向的对象, 17 * 即是看该对象与目标数据之间的关系 18 * */ 19 if(x instanceof Boo){ 20 Boo xx = (Boo) x; 21 xx.b(); 22 xx.num2 = 5; //ClassCastingException 类型转换异常 23 } 24 25 if(x instanceof Inter1){ 26 Inter1 xx =(Inter1) x; 27 xx.a(); 28 } 29 30 Inter1 y = new Aoo(); //向上造型 31 } 32 } 33 34 interface Inter1{ 35 abstract void a(); 36 } 37 abstract class Abs{ 38 public abstract void b(); 39 } 40 41 class Aoo extends Abs implements Inter1{ 42 int num1; 43 public void a(){ 44 System.out.println("a"); 45 } 46 public void b(){ 47 System.out.println("b"); 48 } 49 } 50 class Boo extends Abs { 51 int num2; 52 public void b(){} 53 }
java - day13 - ImplementDemo
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。