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对象的引用 ...
随机推荐
- HashSet -无序,不重复集合
package cn.learn.collection.Set; import java.util.Objects; public class IsPerson { private int age; ...
- C# InterLock保证数据一致性
; i < ; i++) { c.Increment(); c.Decrement(); ...
- 从0 开始手写一个 RPC 框架,轻松搞定!
Java技术栈 www.javastack.cn 优秀的Java技术公众号 来源:juejin.im/post/5c4481a4f265da613438aec3 之前在 RPC框架底层到底什么原理得知 ...
- 15、numpy——排序、条件刷选函数
NumPy 提供了多种排序的方法. 这些排序函数实现不同的排序算法,每个排序算法的特征在于执行速度,最坏情况性能,所需的工作空间和算法的稳定性. 下表显示了三种排序算法的比较. 种类 速度 最坏情况 ...
- 3、NumPy 数组属性
1.秩.维度 NumPy 数组的维数称为秩(rank),一维数组的秩为 1,二维数组的秩为 2,以此类推. 在 NumPy中,每一个线性的数组称为是一个轴(axis),也就是维度(dimensions ...
- CodeChef Gcd Queries
Gcd Queries Problem code: GCDQ Submit All Submissions All submissions for this problem are ava ...
- BZOJ 3703: 昊昊的壮举之造福社会
传送门 搜索,剪枝 首先可以二分答案迭代加深,假设要买 $p$ 台 那么肯定卖价格最小的 $p$ 台 再来个 $A*$ ,设搜到当前情况时,有 $waste$ 的钱一定要被浪费(其实就是某些学校剩下的 ...
- bzoj3097 Hash Killer I
Hash Killer I Time Limit: 5 Sec Memory Limit: 128 MBSec Special Judge Description 这天天气不错,hzhwcmhf神犇给 ...
- 记录混合APP开发遇到的坑!!
1.在IOS中给body绑定click事件会失效 2.在IOS中<div contenteditable="true"></div>中点击时可以弹出键盘但是 ...
- 如何卸载不用的VDP
1.首先删除VDP 2.登录AD的DNS当中,删除VDP对应的DNS解析 3.1登陆 https://vcenterip/mob 这个地址. 输入你的管理员账号密码. 3.2进入content链接. ...