Java学习之多态---类成员变化
类成员
一、成员变量
编译时:变量(f)所属类(Fu)中是否有成员变量,有:编译成功,没有:编译失败
运行时:变量(f)所属类(Fu)中是否有成员变量,运行该类(Fu)中的成员变量
class Fu
{
int num = 3;
} class Zi extends Fu
{
int num=4;
} class Demo
{
public static void main(String[] args)
{
Fu f=new Zi();
System.out.println(f.num);//结果:3
//
}
} class Fu
{
//int num = 3;
} class Zi extends Fu
{
int num=4;
} class Demo
{
public static void main(String[] args)
{
Fu f=new Zi();
System.out.println(f.num);//结果:编译失败
}
}
二、成员函数
编译时:变量(f)所属类(Fu)中是否有成员函数,有:编译成功,没有:编译失败
运行时:对象所属的类(Zi)中是否有成员函数,有:运行对象的类(Zi)的成员函数,没有:运行父类(Fu)成员函数
class Fu
{
void show()
{
System.out.println("Fu");
}
} class Zi extends Fu
{
void show()
{
System.out.println("Zi");
}
} class Demo
{
public static void main(String[] args)
{
Fu f=new Zi();
f.show();//结果:Zi
}
} class Fu
{
//void show()
//{
// System.out.println("Fu");
//}
} class Zi extends Fu
{
void show()
{
System.out.println("Zi");
}
} class Demo
{
public static void main(String[] args)
{
Fu f=new Zi();
f.show();//结果:编译失败
}
}
三、静态函数
编译时:变量(f)所属类(Fu)中是否有静态函数,有:编译成功,没有:编译失败
运行时:变量(f)所属类(Fu)中是否有静态函数,有:运行成功,没有:运行失败
class Fu
{
static void show()
{
System.out.println("Fu");
}
} class Zi extends Fu
{
static void show()
{
System.out.println("Zi");
}
} class Demo
{
public static void main(String[] args)
{
Fu f=new Zi();
f.show();//结果:Fu
}
} class Fu
{
//void show()
//{
// System.out.println("Fu");
//}
} class Zi extends Fu
{
static void show()
{
System.out.println("Zi");
}
} class Demo
{
public static void main(String[] args)
{
Fu f=new Zi();
f.show();//结果:编译失败
}
}
Java学习之多态---类成员变化的更多相关文章
- java学习(二)多态中成员变量详解
今天我总结了一下java多态中成员变量的赋值与调用 举一个我当初做过的小案例: class Fu{ int num; void show(){} } class Zi extends Fu{ //in ...
- Java学习笔记之---类和对象
Java学习笔记之---类和对象 (一)类 类是一个模板,它描述一类对象的行为和状态 例如:动物类是一个类,动物们都有属性:颜色,动物们都有行为:吃饭 public class Dog { Stri ...
- java学习一目了然——File类文件处理
java学习一目了然--File类文件处理 File类(java.io.File) 构造函数: File(String path) File(String parent,String child) F ...
- Java学习笔记——File类之文件管理和读写操作、下载图片
Java学习笔记——File类之文件管理和读写操作.下载图片 File类的总结: 1.文件和文件夹的创建 2.文件的读取 3.文件的写入 4.文件的复制(字符流.字节流.处理流) 5.以图片地址下载图 ...
- Java学习:Properties类
Java学习:Properties类 学习目标 认识properties文件,理解其含义,会正确创建properties文件. 会使用java.util.Properties类来操作propertie ...
- Java学习:File类
Java学习:File类 File类的概述 重点:记住这三个单词 绝对路径和相对路径 File类的构造方法 File类判断功能的方法 File类创建删除功能的方法 File类获取(文件夹)目录和文件夹 ...
- Java学习笔记 04 类和对象
一.类和对象的概念 类 >>具有相同属性和行为的一类实体 对象 >>实物存在的实体.通常会将对象划分为两个部分,即静态部分和动态部分.静态部分指的是不能动的部分,被称为属性,任 ...
- JAVA学习:多态
多态:可以理解为事物存在的多种体现形态. 人:男人,女人 动物:猫,狗. 猫 x = new 猫(); 动物 x = new 猫() 1,多态的体现 父类的引用指向了自己的子类对象. 父类的引 ...
- Java学习之字符串类
String在Java中是一个类类型(非主类型),是一个不可被继承的final类,而且字符串对象是一个不可变对象.声明的String对象应该被分配到堆中,声明的变量名应该持有的是String对象的引用 ...
随机推荐
- Netty之大动脉Pipeline
Pipeline 设计原理 Channel 与ChannelPipeline: 相信大家都已经知道,在Netty 中每个Channel 都有且仅有一个ChannelPipeline 与之对应,它们的组 ...
- js提交map类型参数
方式一:使用 xmlHttpRequest 对象发送数据 function sendMapPost(map, url){ var xmlHttpRequest = createXMLHttpReque ...
- 洛谷 P1886 滑动窗口(单调队列)
题目链接 https://www.luogu.org/problemnew/show/P1886 题目描述 现在有一堆数字共N个数字(N<=10^6),以及一个大小为k的窗口.现在这个从左边开始 ...
- pjhp实现使用redis来存储session数据
#设置php处理session的方式为redis,并配置redis的访问地址(因为在redis中绑定的访问地址为127.0.0.1,所以就没有设置访问密码,如果需要请自行搜索)#因为不想修改php.i ...
- windows8.1安装python
python3.8安装后缺少runtime.dll文件,试验了各种方法都不可行,最后安装了Anaconda3,这是一个python配置环境,但是好像Anaconda3只能兼容3.7,python3.8 ...
- P3191 [HNOI2007]紧急疏散EVACUATE(费用流)
P3191 [HNOI2007]紧急疏散EVACUATE 费用流+卡常优化 我们只关心一个人通过门时的时间,在空地的行走时间可以分层维护 于是根据时间分层,到门的时候再计算代价,即代价$=$层数 每经 ...
- Problems occurred when invoking code from plug-in: "org.eclipse.jface".
java.lang.NullPointerException at com.genuitec.eclipse.easie.core.AppServer.getServerLabel(Unknown S ...
- Git配置全局账号密码避免每次拉取、提交输入账号密码
前言 在大家使用github的过程中,一定会碰到这样一种情况,就是每次要push 和pull时总是要输入github的账号和密码,这样不仅浪费了大量的时间且降低了工作效率.在此背景下,本文在网上找了两 ...
- Python人工智能识别文字内容(OCR)
环境准备 安装pytesseract和PIL 安装这两个包可以借助pip命令行安装 pip install PIL pip install pytesseract 安装识别引擎tesseract-oc ...
- DTS
一.DTS的加载过程 如果要使用Device Tree,首先用户要了解自己的硬件配置和系统运行参数,并把这些信息组织成Device Tree source file.通过DTC(Device Tr ...