Java笔记 上转型对象
Java笔记 上转型对象
创建对象可以Fruit fruit = new GoldenDelicious();
这样只能自父类向子类创建
如果Macintosh p = new Apple(),这是不合法的
一个M的类型,开Apple的空间,是不够的,M的成员可能比Apple多
例子
A ------> B --------> C
class A
{
}
class B extends A
{
public void show(){
System.out.println("sb");
}
}
class C extends B
{
}
public class test
{
public static void main(String args[])
{
A a = new C();
a.show(); // 错误
System.out.println(a instanceof B); // true
}
}
这里我们用父类a指向子类c
这个对象a是B的子类,但是不能调用B的函数
这个对象不能调用子类新增的成员变量,不能调用新增的方法
class A
{
public void show()
{
System.out.println("A");
}
}
class B extends A
{
int x = 5;
public void show()
{
System.out.println("B被继承的方法");
}
public void express()
{
System.out.println("another B");
}
}
class C extends B
{
int x = 3;
public void express()
{
System.out.println("C的重写方法");
}
}
public class test
{
public static void main(String args[])
{
B b = new C();
System.out.println(b.x); // B的5 而非C的3
b.show(); // B被继承的方法
b.express(); // C的重写方法
}
}
class A
{
public void show(){
System.out.println("A");
}
}
class B extends A
{
public void show(){
System.out.println("B");
}
}
class C extends B
{
}
public class test
{
public static void main(String args[])
{
A a = new C();
a.show(); // B
}
}
这个例子中
A创建了C,show()方法被继承
对于C来说B才是父类,所以继承方法输出B
如果删掉A中的方法,a.show();会报错
如果在c中改写这个方法
class C extends B
{
public void show(){
System.out.println("C");
}
}
最后输出C
如果只在A中写这个方法,最后输出A
Java笔记 上转型对象相关教程
Erika Enterprise RTOS学习笔记之环境创建
Erika Enterprise RTOS学习笔记之环境创建 一目了然 1 Erika Enterprise RTOS简介 1.1 主要特性 1.2 Erika Enterprise下载 2 开发环境 2.1 开发环境配置及使用 2.2 开发环境简介 2.3 工程文件介绍 2.4 Erika Enterprise文档资料下载 1 Erika Enterprise RTOS
问题解决:java.lang.NoSuchMethodError: org.springframework.a
问题解决:java.lang.NoSuchMethodError: org.springframework.aop.support.AopUtils.isCglibProxyClass 文章目录 问题场景 问题环境 问题原因 解决方案 一、降低spring版本 二、升级CXF版本 三、项目新建AopUtils类,覆盖写入方法 结果 总结 随缘求赞 问题场
java-idea普通打包(不使用插件)
java-idea普通打包(不使用插件) 在项目上右键选择 Open Module Settings - Artifacts - 加号 - JAR - From modules with - 把/main/java删掉,点击OK,点击Apply,点击OK Build - Build Artifacts Jar包路径:
JavaWeb(八)---书城项目第六阶段-登陆和注册的细节处理
JavaWeb(八)---书城项目第六阶段-登陆和注册的细节处理 1、登陆—显示用户名 UserServlet 程序中保存用户登录的信息 修改 login_succuess_menu.jsp 还要修改首页 index.jsp 页面的菜单 : 2、登出—注销用户 1、销毁 Session 中用户登录的信息(或者销毁 Sess
Java:基本数据类型总结
Java:基本数据类型总结 //注:不能以0作为十进制的开头(0除外) 八进制必须以0开头 十六进制必须以0X或0x开头//基本数据类型:数值型((整数类型:byte、short、int、long)浮点数类型(float、double)) 字符型(char) 布尔型(bool)//面向对象的特征:
Java面向对象(封装,继承,多态)
Java面向对象(封装,继承,多态) 面向对象 面向对象 概念 1、封装 含义及优点 封装的分类和实现 2、继承 继承的主要形式 关键的词汇 extends implements super 与 this final static 3、多态 含义 形式 解释 上转型 下转型 面向对象 面向对象简称 OO(Object
Java:变量和常量
Java:变量和常量 //标识符有任意顺序的字母、下划线、美元符号、数字组成,并且第一个字符不能是数字,标识符不能是Java中的关键字//当定义的final变量属于“成员变量(全局变量)时”,必须在定义的时候就设置它的初始值//再类体中所定义的变量称为成员变量
Java集合篇-知识整理
Java集合篇-知识整理 目录 集合概述 集合框架 1. Collection接口 2. List接口 2.1 ArrayList 2.2Vector 2.2.1 Vector 类和 ArrayList 类的区别 2.3LinkedList 2.3.1LinkedList 类和 ArrayList 类的比较 2.4Stack 3. Set 接口 3.1散列存放:HashSet 3.2LinkedH