extends && implements
final声明的类不能被继承
方法的重写(@Override): 两同两小一大原则:
方法名相同,参数类型相同
子类返回类型小于等于父类方法返回类型(java里无论怎样都对)
子类抛出异常小于等于父类方法抛出异常(不能抛出新的异常或比父类范围宽泛的异常)
子类访问权限大于等于父类方法访问权限
不能重写final声明方法,
重写static方法只能是static的
继承中方法的重写
1 package test;
public class ExtendTest {
static class A{
public A() {
System.out.println("A 被创建!");
}
public void t(){
System.out.println("输出 A ");
}
}
static class B extends A{
public B() {
System.out.println("B 被创建!");
}
@Override
public void t() {
System.out.println("输出 B");
}
public void k() {
System.out.println(" 方法 K");
}
}
public static void main(String[] args) {
/**
* 1.
*/
A a1 = new A();
B b1 = new B();
a1.t();
b1.t();
// result: A 被创建!
// A 被创建!
// B 被创建!
// 输出 A
// 输出 B
/**
* 2.
*/
A a2 = new A();
A b2 = new B();
a2.t();
b2.t();
// result: A 被创建!
// A 被创建!
// B 被创建!
// 输出 A
// 输出 B
// /**
// * 3.
// */
//
// A a3 = new A();
// A b3 = new B();
// b3.k();
// result: 编译错误
}
继承类加载顺序 1 import java.util.ArrayList;
import java.util.List;
import javax.swing.plaf.synth.SynthScrollBarUI;
public class Dome {
static class a{
static { System.out.println(" static a");}
{System.out.println(" class a");}
public a() {System.out.println(" construct a ");}
public void t() {};
}
static class b extends a{
static { System.out.println(" static b");}
{System.out.println(" class b");}
public b() {System.out.println("construct b");}
public b(int i){this()}
public void t() {
System.out.println(super.getClass().getName());
}
} public static void main(String[] args) {
new b(); }
}
实现接口中的方法
1 package test;
import test.ExtendTest.A;
public class ImplementTest {
static interface A {
public void t();
}
static class B implements A {
public B() {
System.out.println("B 被创建!");
}
@Override
public void t() {
System.out.println("输出 B");
}
public void k() {
System.out.println(" 方法 K");
}
}
public static void main(String[] args) {
A b = new B();
// 1. B 被创建!
b.t();
// 2. 输出 B
// b.k();
// 3. 编译错误
}
}
extends && implements的更多相关文章
- 【Dart学习】-- Dart之extends && implements && with的用法与区别
一,概述 继承(关键字 extends) 混入 mixins (关键字 with) 接口实现(关键字 implements) 这三种关系可以同时存在,但是有前后顺序: extends -> m ...
- JAVA 构造器, extends[继承], implements[实现], Interface[接口], reflect[反射], clone[克隆], final, static, abstrac
记录一下: 构造器[构造函数]: 在java中如果用户编写类的时候没有提供构造函数,那么编译器会自动提供一个默认构造函数.它会把所有的实例字段设置为默认值:所有的数字变量初始化为0;所有的布尔变量设置 ...
- java中的内部类总结
内部类不是很好理解,但说白了其实也就是一个类中还包含着另外一个类 如同一个人是由大脑.肢体.器官等身体结果组成,而内部类相当于其中的某个器官之一,例如心脏:它也有自己的属性和行为(血液.跳动) 显然, ...
- 周末惊魂:因struts2 016 017 019漏洞被入侵,修复。
入侵(暴风雨前的宁静) 下午阳光甚好,想趁着安静的周末静下心来写写代码.刚过一个小时,3点左右,客服MM找我,告知客户都在说平台登录不了(我们有专门的客户qq群).看了下数据库连接数,正常.登录阿里云 ...
- 大话JS面向对象之开篇万物皆对象------(ATM取款机引发的深思)
一,总体概要 OO(面向对象)概念的提出是软件开发工程发展的一次革命,多年来我们借助它使得很多大型应用程序得以顺利实现.如果您还没有掌握并使用OO进行程序设计和开发,那么您无疑还停留在软件开发的石器时 ...
- 第一个JAVA应用
1.1创建源文件 1.1.1Java源文件结构 Java应用由一个或多个扩展名为“.Java”的文件构成,这些文件被成为源文件.从编译角度,则被称为编译单元(Compilation Unit). 如果 ...
- Java开发面试总结
Java开发面试总结.. ----------------------- java 基础知识点这一块: 1.面向对象的三大特征.(继承,封装,多态) 1.1 在什么样的场合下面会使用到继承 1.2 什 ...
- C#与Java的比较
C#与Java的比较 写完后得知维基百科里有更加全面得多的比较: http://en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Java NET(C#) ...
- java嵌套类
java有四种嵌套类: 静态内部类,成员内部类,局部内部类,匿名内部类 1)静态内部类: (1)类的申明加上staitc关键字.一般用public修饰 (2)只能访问外部类的静态变量和静态方法.不能访 ...
随机推荐
- php 面向对象 (类 对象)
//面向对象//什么是面向对象//面向过程//什么是对象?//一切皆是对象//类//由对象抽象化//造类//class Ren//{ //构造方法 - - 写不写都存在//类的初始化方法 //构造方法 ...
- 如何解决安装istio后istioctl命令每次使用都需要重新配置路径
Kubernetes在安装istio后初次使用istioctl命令时会提示istioctl command not found 这时候如果在istio文件夹的根目录下配置 export PATH=$P ...
- POJ 3090 坐标系上的视线遮蔽问题
Description A lattice point (x, y) in the first quadrant (x and y are integers greater than or equal ...
- js中trim函数的简单实现
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <hea ...
- 按WSDL信息手动生成代理类
命令行: wsdl /language:c# /n:Entity /out:C:\Users\mengxianming\Desktop\Centrex_IMS_Client.cs C:\Users\m ...
- linux上配置spark集群
环境: linux spark1.6.0 hadoop2.2.0 一.安装scala(每台机器) 1.下载scala-2.11.0.tgz 放在目录: /opt下,tar -zxvf scal ...
- poj2767,单向连通图判定,缩点+重新建图+新图DFS
/*该题被博客里标记为中等题,30分钟内1A,掌握了算法就简单了,单向连通图判定,单向连通图缩点 后必然唯一存在出度为0的点和入度为0的点,并且从入度为0的点出发,可以遍历所有点后到达出度为0点 (一 ...
- 清北省选 DAY last 集锦
这是题目描述的链接: http://lifecraft-mc.com/wp-content/uploads/2018/03/problems1.pdf (虽然这次没去清北,但还是厚颜无耻的做了一下这套 ...
- Wannafly挑战赛4
A(枚举) =w= B(枚举) 分析: 枚举每一位,考虑每位贡献,就是相当于在一段区间内找有多少1在奇数位上,有多少个1在偶数位上,维护一下各自前缀和就行了 时间复杂度O(32n) C(签到) D(d ...
- java基础语法1
一:基础语法之--标识符,修饰符,关键字 1.标识符: 定义:类名.变量名以及方法名都被称为标识符.自定义的名字. 注意: ·所有的标识符都应该以字母(A-Z或者a-z),美元符($).或者下划线(_ ...