java基础概念整理(三)
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基础概念整理(三)的更多相关文章
- java基础概念整理综合 及补充(jdk1.8)
2018 java基础 笔记回顾摘要 一 1,html 与 注释: <!-- --> 注释不能嵌套 代码都得有注释. 2,空格符: 3,css选择的优先级: id选择器 > ...
- JAVA基础概念(三)
JAVA方法入参和返回类型 方法入参 基础数据类型 引用数据类型 修饰符 返回类型 方法名(参数类型 参数名,参数类型 参数名...){//方法体return} 方法返回类型 return xxx 具 ...
- java基础解析系列(三)---HashMap
java基础解析系列(三)---HashMap java基础解析系列 java基础解析系列(一)---String.StringBuffer.StringBuilder java基础解析系列(二)-- ...
- Java基础概念语法
Java基础概念语法 注释 单行注释 //行注释说明 多行注释 /* 多行注释说明 */ 文档注释 /** *@author 程序的作者 *@version 源文件的版本 *@param 方法的参数说 ...
- Java基础 随笔整理
Java基础随笔整理 为了方便阅读,特整理了相关的学习笔记 Java感想 操千曲而后晓声 Java入门 Java其他 Java虚拟机详解 语言入门百题 Java开发工具 · Eclipse Java语 ...
- Java基础进阶整理
Java学习笔记整理 本文档是我个人整理的,首先是想通过完成本文档更加扎实自己的基础加强对java语言的理解,然后就是想给入了门的同志们做下贡献. 当然,本文档主要是对java语言基础(当然还有很多基 ...
- java基础知识整理
java基础入门知识(转载请注明出处.) 1.JVM.JRE和JDK的区别. (1)JVM(Java Virtual Machine):java虚拟机,用于保证java跨平台的特性,java语言是跨平 ...
- JAVA基础学习-集合三-Map、HashMap,TreeMap与常用API
森林森 一份耕耘,一份收获 博客园 首页 新随笔 联系 管理 订阅 随笔- 397 文章- 0 评论- 78 JAVA基础学习day16--集合三-Map.HashMap,TreeMap与常用A ...
- 2016第20周四java基础概念
简单的说JDK=JRE+Java编译器.调试器.工具类库等:JRE=JVM(类似于jre目录下的bin)+必要运行的类库(类似于jre目录下的lib) JVM:Java Virtual Mechina ...
随机推荐
- 微信小程序弹出可填写框两种方法
方法一: html页面: < view class = "container" class = "zn-uploadimg" > < butt ...
- SQL Server - SQL语言组成 (DML、DDL、DCL、DQL的区别)
转载自:https://www.cnblogs.com/dato/p/7049343.html 作者:Dato.zeng --------------------------------------- ...
- SpringSecurityOAuth认证配置及Token的存储
⒈pom依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...
- 在Linux安装ASP.NET Core运行时环境
我使用的是Centos7 ,其它的Linux请参考微软文档 微软官方介绍文档: https://www.microsoft.com/n ...
- Scrapy快速上手
超详细官方教程解析 https://blog.csdn.net/fly_yr/article/details/51540269 实战过程: 创建一个Scrapy项目 定义提取的Item 编写爬取网站的 ...
- C/S 开发框架 ----- 广州本地
C/S 开发框架 ----- 广州本地: 1) 爱奇迪 http://www.iqidi.com 发现一个源码出售站 http://www.51aspx.com/code/co ...
- struts2框架之国际化(参考第二天学习笔记)
国际化 1. 回忆之前的国际化 1). 资源包(key=字符串) > 命名:基本名称+local部分.properties,res_zh.properties,res_zh_CN.propert ...
- 牛客国庆训练,CCPC Camp DAY1 J 倍增,括号匹配
https://www.nowcoder.com/acm/contest/201#question 题意:中文不翻译了 解法的个人理解: 对于一个合法的区间$[L,R]$ 1.显然其左括号的匹配位置都 ...
- 防火墙iptables的简单使用
规则定义 # service iptables start # chkconfig iptables on 想让规则生效,则shell命令行下执行 sh /bin/iptables.sh即可 [roo ...
- centos 6 不能上网
今天安装了一个CentOS 6,默认安装的Centos不不能上网? 解决办法:Centos 默认的链接网路的方式为:NAT方式.如果无法上网,设置Network Connection 的方式为Brid ...