1、对象的上转型

对象的上转型不能调用和使用子类对象新增的成员和变量,不能调用子类新增的方法。

上转型对象可以访问子类继承或者隐藏的成员变量,也可以调用子类继承或者子类重写的实例方法。因此如果子类重写了父类的某个实例方法后,当对象的上转型对象调用这个实例方法时一定是调用了子类重新写的实例方法。

2、抽象方法

对于abstract方法,只允许声明,不允许实现,不允许使用final和abstract同时修饰一个方法或者一个类,abstract方法只能是实例方法,abstract类中可以有abstract方法。非abstract类中不可以有abstract方法。

3、面向对象编程,经常会使用到abstract类,abstract类只关心操作,不关系这些操作的具体实现的细节问题,

package com.Example1;

public class Exmaple5_12 {

public static void main(String[] args) {
        // TODO Auto-generated method stub
        MobileTelephone telephone = new MobileTelephone();
        SIM sim = new SIMofChinaMobile();
        sim.setNumber("2454545");
        telephone.userSIM(sim);
        telephone.showMessage();
        sim = new SIMofChinaUnicon();
        sim.setNumber("454664646");
        telephone.userSIM(sim);
        telephone.showMessage();

}

}

abstract class SIM {
    public abstract void setNumber(String n);

public abstract String giveNumber();

public abstract String giveCorpName();
}

class MobileTelephone {
    SIM card;

public void userSIM(SIM card) {
        this.card = card;
    }

public void showMessage() {
        System.out.println("use card name is" + card.giveCorpName());
        System.out.println("SIm'number is" + card.giveNumber());
    }
}

class SIMofChinaMobile extends SIM {
    String number;

@Override
    public void setNumber(String n) {
        // TODO Auto-generated method stub
        number = n;

}

@Override
    public String giveNumber() {
        // TODO Auto-generated method stub
        return number;
    }

@Override
    public String giveCorpName() {
        // TODO Auto-generated method stub
        return "联通卡";
    }

}

class SIMofChinaUnicon extends SIM {
    String number;

@Override
    public void setNumber(String n) {
        // TODO Auto-generated method stub
        number = n;

}

@Override
    public String giveNumber() {
        // TODO Auto-generated method stub
        return number;
    }

@Override
    public String giveCorpName() {
        // TODO Auto-generated method stub
        return "中国移动";
    }

}

4、继承是一种已有的类创建新的类的机制,利用继承,可以创建一个共有的属性的一般类,根据一般类创建据用特殊属性的新类。

java基础概念整理(三)的更多相关文章

  1. java基础概念整理综合 及补充(jdk1.8)

    2018 java基础 笔记回顾摘要 一 1,html 与 注释: <!--   -->  注释不能嵌套 代码都得有注释. 2,空格符:   3,css选择的优先级: id选择器 > ...

  2. JAVA基础概念(三)

    JAVA方法入参和返回类型 方法入参 基础数据类型 引用数据类型 修饰符 返回类型 方法名(参数类型 参数名,参数类型 参数名...){//方法体return} 方法返回类型 return xxx 具 ...

  3. java基础解析系列(三)---HashMap

    java基础解析系列(三)---HashMap java基础解析系列 java基础解析系列(一)---String.StringBuffer.StringBuilder java基础解析系列(二)-- ...

  4. Java基础概念语法

    Java基础概念语法 注释 单行注释 //行注释说明 多行注释 /* 多行注释说明 */ 文档注释 /** *@author 程序的作者 *@version 源文件的版本 *@param 方法的参数说 ...

  5. Java基础 随笔整理

    Java基础随笔整理 为了方便阅读,特整理了相关的学习笔记 Java感想 操千曲而后晓声 Java入门 Java其他 Java虚拟机详解 语言入门百题 Java开发工具 · Eclipse Java语 ...

  6. Java基础进阶整理

    Java学习笔记整理 本文档是我个人整理的,首先是想通过完成本文档更加扎实自己的基础加强对java语言的理解,然后就是想给入了门的同志们做下贡献. 当然,本文档主要是对java语言基础(当然还有很多基 ...

  7. java基础知识整理

    java基础入门知识(转载请注明出处.) 1.JVM.JRE和JDK的区别. (1)JVM(Java Virtual Machine):java虚拟机,用于保证java跨平台的特性,java语言是跨平 ...

  8. JAVA基础学习-集合三-Map、HashMap,TreeMap与常用API

    森林森 一份耕耘,一份收获 博客园 首页 新随笔 联系 管理 订阅 随笔- 397  文章- 0  评论- 78  JAVA基础学习day16--集合三-Map.HashMap,TreeMap与常用A ...

  9. 2016第20周四java基础概念

    简单的说JDK=JRE+Java编译器.调试器.工具类库等:JRE=JVM(类似于jre目录下的bin)+必要运行的类库(类似于jre目录下的lib) JVM:Java Virtual Mechina ...

随机推荐

  1. Django学习手册 - 前端input数据获取

    view获取数据方法归纳: #请求meta数据 request.mata(...) request.method(POST,GET,PUT) #从meta里面获取数据 request.path_inf ...

  2. CentOS7 设置主机名及IP映射

    1.设置主机名 查看本机的主机名,使用如下三个命令中任意一个即可 # hostname # uname -n # cat /proc/sys/kernel/hostname 使用 vi 编辑器打开 / ...

  3. classpath和classpath*的区别

    classpath 指的是自己项目里的编译后的class路径 classpath* 包含jar包里面的class路径

  4. Deep Learning(花书)教材笔记-Math and Machine Learning Basics(线性代数拾遗)

    I. Linear Algebra 1. 基础概念回顾 scalar: 标量 vector: 矢量,an array of numbers. matrix: 矩阵, 2-D array of numb ...

  5. 图片转换base64编码,点击div的时候选择文件

    有时候我们希望文件上传的时候预览图片,下面插件可以实现上传前预览图片 (也可以提取文件的base64编码) max-height: 140px;max-width: 120px;可以指定图片的最大宽度 ...

  6. php 实现二维数组转字符串 一步到位

    第一种方法 使用 array_reduce函数  详情点击查看 第二种方法:

  7. SpringBoot2.0+ DataSourceInitializer不生效的问题

    1.在url后声明时区 2.更换mysql6.0+的驱动 3.配置属性initialization-mode 为 always 我就是这样解决问题的,如果没解决的话,请在留言处指出错误.谢谢

  8. 【转】数据库介绍(MySQL安装 体系结构、基本管理)

    [转]数据库介绍(MySQL安装 体系结构.基本管理) 第1章 数据库介绍及mysql安装 1.1 数据库简介 数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新 ...

  9. ARMCC和GCC编译ARM代码的软浮点和硬浮点问题 【转】

    转自:http://houh-1984.blog.163.com/blog/static/31127834201211112129167/ 本文介绍了ARM代码编译时的软浮点(soft-float)和 ...

  10. 红迅JSAAS敏捷开发平台

    红迅JSAAS敏捷开发平台:    http://www.redxun.cn/