java向上转型知识点收录
package tex2polymorphism;
/*总结如下:
* 对于多态,可以总结它为:
一、使用父类类型的引用指向子类的对象;
二、该引用只能调用父类中定义的方法和变量;
三、如果子类中重写了父类中的一个方法,那么在调用这个方法的时候,将会调用子类中的这个方法;(动态连接、动态调用)
四、变量不能被重写(覆盖),”重写“的概念只针对方法,如果在子类中”重写“了父类中的变量,那么在编译时会报错。
*/
public class 向上转型 {
public static void main(String[] args)
{
Father s = new Son();
s.f();
//报错,因为子类中重新定义了跟父类中一样的变量,而变量是不能重写的,所以报错 s.name;
/*s.f2();编译不通过 我们现在创建的是父类的引用指向子类Son的对象。
* 子类中定义的方法f2在父类中不存在,所以用这父类的引用去调用他没有的方法是错误的。
*/
}
}
class Father{
String name="父";
void f(){System.out.print("父类");}
}
class Son extends Father{
String name = "儿子";
void f(){System.out.print("儿子");}
void f2(){}
}
java向上转型知识点收录的更多相关文章
- Java向上转型和向下转型(附具体样例)
Java向上转型和向下转型(附具体样例) 熬夜整理的关于Java向上和向下转型的样例,很的通俗易懂哦~~~~ 一 ...
- java 向上转型 向下转型
//父类 四边形 class Quadrangle{ public static void draw (Quadrangle q){ } } //子类 public class Parallelog ...
- Java向上转型的意义
比如我这个程序 public class Testjava{ public static void main(String args[]) { fun(new Student()); fun(new ...
- java 向上转型与向下转型
转型是在继承的基础上而言的,继承是面向对象语言中,代码复用的一种机制,通过继承,子类可以复用父类的功能,如果父类不能满足当前子类的需求,则子类可以重写父类中的方法来加以扩展. 向上转型:子类引用的对象 ...
- java向上转型和向下转型1
在java继承体系中,认为父类(超类)在上层,子类在下层(派生类) ,向上转型就是把子类对象转成父类对象. public class Father { public void eat(){ Syste ...
- (原)java 向上转型中,任何域的访问操作都是由编译器解析,不是多态
最近在向java发力,学习学习了下.看到了多态这一节,书中有个比较好的例子,所以就准备写下来,记录下来: package dynamic_binding01; public class dynamic ...
- java 向上转型和向下转型
学习向上转型和向下转型怎么用没多难,但是为什么那样用,我搞了很多次没弄明白.没弄明白的原因是平时学习时之看例子,而例子一般都比较简单,没有对象之间的调用,一般就是一个对象调用自己的方法. 首先看下怎么 ...
- java向上转型和向下转型
转型是在继承的基础上而言的,继承是面向对象语言中,代码复用的一种机制,通过继承,子类可以复用父类的功能,如果父类不能满足当前子类的需求,则子类可以重写父类中的方法来加以扩展. 向上转型:子类引用的对象 ...
- java向上转型的问题
import java.util.Arrays;import java.util.HashSet;import java.util.Set;class A{ private String s1 = & ...
- Java向上转型与向下转型
一.向上转型 例如:Parent p=new Son(); 这样引用p只能调用子类中重载父类的方法:但属性是父类的:如果想调用子类属性的话,可以用getter()方法. 二.向下转型 子类对象的父类引 ...
随机推荐
- P4349 [CERC2015]Digit Division
题目传送门 思路 以下纯考场思路. 今天模拟赛考到了这题的加强版,然后预处理写炸了,\(100\) 变成 \(70\),当是给 CSP 攒 rp 了. 首先一眼看到题目可能会没有思路,没什么关系,手推 ...
- AIR32F103(九) CAN总线的通信和ID过滤机制及实例
目录 AIR32F103(一) 合宙AIR32F103CBT6开发板上手报告 AIR32F103(二) Linux环境和LibOpenCM3项目模板 AIR32F103(三) Linux环境基于标准外 ...
- 基于C++的OpenGL 14 之模型加载
1. 引言 本文基于C++语言,描述OpenGL的模型加载 前置知识可参考: 基于C++的OpenGL 13 之Mesh - 当时明月在曾照彩云归 - 博客园 (cnblogs.com) 笔者这里不过 ...
- web生命周期概览
1, 输入URL(或单击连接). 2, 生成请求并发送至服务器. 3,执行某些动作或者获取某些资源;将响应发送给客户端. 4,处理HTML,CSS和JavaScript并构建结果页面. 5,监控事件队 ...
- Mysql数据库基础第七章:流程控制结构
Mysql数据库基础系列 软件下载地址 提取码:7v7u 数据下载地址 提取码:e6p9 mysql数据库基础第一章:(一)数据库基本概念 mysql数据库基础第一章:(二)mysql环境搭建 mys ...
- Mysql习题系列(一):基本select语句与运算符
Mysql8.0习题系列 软件下载地址 提取码:7v7u 数据下载地址 提取码:e6p9 文章目录 Mysql8.0习题系列 1. 基本select语句 1.1 题目 1.2答案 1.查询员工12个月 ...
- 客户端发送信息给服务器以及服务器接收客户端发来的信息(socket)
服务器端: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data ...
- javascript中的二进制运算符
javascript的二进制运算符用于直接对二进制位进行计算,好处是速度快,缺点是不直观. 位运算符只对整数起作用,如果一个运算子不是整数,则会转换成整数后再执行;我们都知道javascript的数值 ...
- ACE下载地址
https://download.dre.vanderbilt.edu/previous_versions/ 在某n中找了大半天愣是没人贴出来
- foreach 和for
"foreach和for循环如果只是遍历集合或者数组,用foreach好些,如果是对集合中的值进行修改,就要用for循环了,其实foreach的内部原理其实也是Iterator,但不能像It ...