package day07;
class Fu
{
int num = 5;
}
class Zi extends Fu
{
int num =7;
void show()
{
int num =9;
System.out.println(num); }
}
public class Extends {
public static void main(String[] args) {
Zi zi = new Zi();
zi.show();
} } 9//自己有就不去找
package day07;
class Fu
{
int num = 5;
}
class Zi extends Fu
{
int num =7;
void show()
{
int num =9;
System.out.println(this.num); }
}
public class Extends {
public static void main(String[] args) {
Zi zi = new Zi();
zi.show();
} }

7

 
package day07;
class Fu
{
int num = 5;
}
class Zi extends Fu
{
int num =7;
void show()
{
int num =9;
System.out.println(super.num); }
}
public class Extends {
public static void main(String[] args) {
Zi zi = new Zi();
zi.show();
} }

5

 

super代表的是父类,this代表的是本类对象的引用,super代表父类所属空间

注意:子类父类中通常不会出现同名属性,父类中既然已经定义了num属性,子类就没有必要定义该属性

子类无法覆父类中的show方法,因为类型不一样

package day07;
class Fu
{
public static void show()
{ System.out.println("run show1");
}
public void show2()
{
System.out.println("haha1");
}
}
class Zi extends Fu
{ public static void show()
{ System.out.println("run show2"); }
public void show2()
{
System.out.println("haha2"); }
}
public class Extends {
public static void main(String[] args) {
Fu f = new Zi();//注意这个地方对象的创建,以及结果,静态方法以及成员变量和普通方法的区别
f.show();
f.show2();
} }

run show1
haha2


对比:

package day07;
class Fu
{
public static void show()
{ System.out.println("run show1");
}
public void show2()
{
System.out.println("haha1");
}
}
class Zi extends Fu
{ public static void show()
{ System.out.println("run show2"); }
public void show2()
{
System.out.println("haha2"); }
}
public class Extends {
public static void main(String[] args) {
Zi z = new Zi();//注意这个地方对象的创建,以及结果,静态方法以及成员变量和普通方法的区别
z.show();
z.show2();
} }

run show2
haha2

 

覆盖的时候注意:

1、子类覆盖父类的时候保证覆盖方法的权限大于等于被覆盖函数的权限

2、覆盖方法有静态修士的时候,静态只能覆盖静态,或者被静态覆盖

java继承示例的更多相关文章

  1. Java 继承中构造方法的执行顺序问题

    在Java中,如果一个类没有任何显式创建的构造器则该类默认会有一个无参构造器:如果显式创建了有参构造器则该类就不再有默认无参构造器. 在Java继承中,构造器并不能被继承,而是被显示或隐式调用. 1. ...

  2. Java - 20 Java 继承

    Java 继承 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类.继承可以理解为一个对象从另一个对象获取属性的过程. 如果类A是类B的父类,而类B是类C的父类,我们也称C是A的子 ...

  3. java继承使用的细节问题?

    关于java继承的基本概念就不多说了,下面就说说继承使用应该注意的细节问题? 示例 一: package com.bizvane; class Fu{ public Fu() { System.out ...

  4. Java 泛型示例 - 泛型方法,类,接口

    Java Genrics 是 Java 5 中引入的最重要的功能之一. 如果您一直在使用Java Collections并使用版本 5 或更高版本,那么我确定您已经使用过它. Java 中具有集合类的 ...

  5. java继承内存分配

    java继承内存分配 继承的基本概念: * Java不支持多继承,也就是说子类至多只能有一个父类. * 子类继承了其父类中不是私有的成员变量和成员方法,作为自己的成员变量和方法. * 子类中定义的成员 ...

  6. 图解Java继承内存分配

    图解Java继承内存分配   继承的基本概念: (1)Java不支持多继承,也就是说子类至多只能有一个父类. (2)子类继承了其父类中不是私有的成员变量和成员方法,作为自己的成员变量和方法. (3)子 ...

  7. java继承基础详解

    java继承基础详解 继承是一种由已存在的类型创建一个或多个子类的机制,即在现有类的基础上构建子类. 在java中使用关键字extends表示继承关系. 基本语法结构: 访问控制符 class 子类名 ...

  8. Java 继承01

    继承 ●示例 class Person { public String name; Person(){ System.out.println("Person Constrctor...&qu ...

  9. Java继承与组合

    Java继承与组合 继承 java 中使用extends关键字表示继承关系,当创建一个类时,如果没有明确指出要继承的类,则是隐式地从根类Object进行继承. 子类继承父类的成员变量 子类能够继承父类 ...

随机推荐

  1. Linux环境安装Nginx详细步骤

    1.yum解决编译nginx所需的依赖包,之后你的nginx就不会报错了yum install gcc patch libffi-devel python-devel  zlib-devel bzip ...

  2. spring bean标签常用属性

    一.id属性 其名称,可以是任意名称,但不能包含特殊符号. 根据id得到配置对象. 二.class属性 创建对象所在的类名称 三.name属性 功能和id属性一样,但name属性值可以包含特殊属性 四 ...

  3. 【翻译自mos文章】在重建控制文件之前应该考虑的事情

    在重建控制文件之前应该考虑的事情 来源于: Things to Consider Before Recreating the Controlfile (文档 ID 1475632.1) 适用于: Or ...

  4. linux c编程:线程互斥一

    当多个线程共享相同的内存的时候,需要确保每个线程都看到一致的数据视图.如果每个线程使用的变量都是其他线程不会读取和修改的.那么就不存在一致性问题.同样,如果变量是只读的,多个线程也不会有一致性的问题. ...

  5. linux shell 字符串操作(长度,查找,替换)

    感谢原创,文章很有帮助. 转自:http://www.cnblogs.com/chengmo/archive/2010/10/02/1841355.html 一.判断读取字符串值 表达式 含义 ${v ...

  6. Visual Studio 2017 扩展推荐

    ReSharper : 首先的是Resharper,这个基本是目前是我开发过程中必备的工具集,唯一的缺点就是吃内存,所以你的内存要是低于8G,就不要使用它了.它的特点可以快速重构.高亮显示错误.导航和 ...

  7. 牛客小白月赛1 E 圆与三角形 【数学】

    题目链接 https://www.nowcoder.com/acm/contest/85/E 思路 在三角形中,这一串东西的值恒为1 又 SIN A 的最大值 为1 所以 这串式子的最大值 就是 r ...

  8. socket编程详解

    http://www.cnblogs.com/skynet/archive/2010/12/12/1903949.html http://blog.csdn.net/hguisu/article/de ...

  9. 每天一个Linux命令(18)loacte命令

    locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案.     (1)用法:   用法:  Locate  [选项] [参数]     (2)功能: 功能:  在mlocate数据库中搜索 ...

  10. 事件监听机制——鼠标事件MouseEvent

    鼠标事件 鼠标事件包括鼠标的双击.左击.右击.中间键等等,本文进行事件加载进行简单介绍,具体可以参考键盘事件. import java.awt.*; import java.awt.event.*; ...