zoukankan      html  css  js  c++  java
  • java

    接口实现、继承等关系的运用案例
    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 }
  • 相关阅读:
    获取系统环境变量
    改变系统提示信息
    获取任务栏大小
    获取系统启动后经过的时间
    获取系统版本号
    z-tree的使用
    vue学习-day05 -- 案例:名字合并(监听data数据的改变)
    vue学习-day04(路由)
    eclipse在线安装ermaster插件
    vue学习-day03(动画,组件)
  • 原文地址:https://www.cnblogs.com/DeRozan/p/6959538.html
Copyright © 2011-2022 走看看