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的更多相关文章

  1. 【Dart学习】-- Dart之extends && implements && with的用法与区别

    一,概述 继承(关键字 extends) 混入  mixins (关键字 with) 接口实现(关键字 implements) 这三种关系可以同时存在,但是有前后顺序: extends -> m ...

  2. JAVA 构造器, extends[继承], implements[实现], Interface[接口], reflect[反射], clone[克隆], final, static, abstrac

    记录一下: 构造器[构造函数]: 在java中如果用户编写类的时候没有提供构造函数,那么编译器会自动提供一个默认构造函数.它会把所有的实例字段设置为默认值:所有的数字变量初始化为0;所有的布尔变量设置 ...

  3. java中的内部类总结

    内部类不是很好理解,但说白了其实也就是一个类中还包含着另外一个类 如同一个人是由大脑.肢体.器官等身体结果组成,而内部类相当于其中的某个器官之一,例如心脏:它也有自己的属性和行为(血液.跳动) 显然, ...

  4. 周末惊魂:因struts2 016 017 019漏洞被入侵,修复。

    入侵(暴风雨前的宁静) 下午阳光甚好,想趁着安静的周末静下心来写写代码.刚过一个小时,3点左右,客服MM找我,告知客户都在说平台登录不了(我们有专门的客户qq群).看了下数据库连接数,正常.登录阿里云 ...

  5. 大话JS面向对象之开篇万物皆对象------(ATM取款机引发的深思)

    一,总体概要 OO(面向对象)概念的提出是软件开发工程发展的一次革命,多年来我们借助它使得很多大型应用程序得以顺利实现.如果您还没有掌握并使用OO进行程序设计和开发,那么您无疑还停留在软件开发的石器时 ...

  6. 第一个JAVA应用

    1.1创建源文件 1.1.1Java源文件结构 Java应用由一个或多个扩展名为“.Java”的文件构成,这些文件被成为源文件.从编译角度,则被称为编译单元(Compilation Unit). 如果 ...

  7. Java开发面试总结

    Java开发面试总结.. ----------------------- java 基础知识点这一块: 1.面向对象的三大特征.(继承,封装,多态) 1.1 在什么样的场合下面会使用到继承 1.2 什 ...

  8. C#与Java的比较

    C#与Java的比较 写完后得知维基百科里有更加全面得多的比较: http://en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Java NET(C#) ...

  9. java嵌套类

    java有四种嵌套类: 静态内部类,成员内部类,局部内部类,匿名内部类 1)静态内部类: (1)类的申明加上staitc关键字.一般用public修饰 (2)只能访问外部类的静态变量和静态方法.不能访 ...

随机推荐

  1. hadoop格式化出错,提示IO异常

    配置好hadoop之后,在进行格式化的时候出现异常,原因是由于在core-site.xml 配置文件中写的路径格式不对. 不需要加 file:/ 或者 file:// 直接写绝对路径就行. <c ...

  2. java基础之switch

    switch 语句由一个控制表达式和多个case标签组成. switch 控制表达式支持的类型有byte.short.char.int.enum(Java 5).String(Java 7). swi ...

  3. HDU-2159 FATE,01背包变形

    FATE 这道题和完全背包十分类似,只不过加上了忍耐度这个条件限制,所以很正常的想到用三维数组来模拟.但背包问题优化只有一层循环,这里当然也可以把种类这一层省略.d[i][j]表示杀i只怪耗费忍耐度为 ...

  4. windows 2008、2012防火墙添加入站规则教程(端口例外)

    windows2008.2012的设置方法基本一样,以下是以windows2008为例做添加80端口的步骤. 1.依次点“控制面板”→“系统和安全”→“windows防火墙”→“高级设置”,打开“高级 ...

  5. 以太坊和IPFS如何存储数据

    如何将JSON文件存储在IPFS上,并使用Oraclize访问智能合约中的数据呢? 以太坊是一个成熟的区块链,使开发人员能够创建智能合约,在区块链上执行的程序可以由交易触发.人们经常将区块链称为数据库 ...

  6. NOIP2014D2T2寻找道路(Spfa)

    洛谷传送门 这道题可以把边都反着存一遍,从终点开始深搜,然后把到不了的点 和它们所指向的点都去掉. 最后在剩余的点里跑一遍spfa就可以了. ——代码 #include <cstdio> ...

  7. HH的项链(codevs 2307)

    题目描述 Description HH有一串由各种漂亮的贝壳组成的项链.HH相信不同的贝壳会带来好运,所以每次散步完后,他都会随意取出一段贝壳,思考它们所表达的含义.HH不断地收集新的贝壳,因此,他的 ...

  8. php装饰者模式

    php装饰者模式 装饰模式指的是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能.它是通过创建一个包装对象,也就是装饰来包裹真实的对象. 示例: A.B.C编辑同一篇文章. class ...

  9. navicat 无法连接到腾讯云Mysql

    远程连接进入服务器 远程连接进入服务器之后,输入命令mysql -u root -p 之后输入mysql密码,进入mysql 命令环境 设置开启远程登录 GRANT ALL PRIVILEGES ON ...

  10. sublime text 3注册码

    —– BEGIN LICENSE —– Michael Barnes Single User License EA7E-821385 8A353C41 872A0D5C DF9B2950 AFF6F6 ...