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. ubuntu修改apt-get源为国内镜像源

    1.原文件备份   sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak   2.编辑源列表文件   sudo vim /etc/apt/so ...

  2. [WPF自定义控件]使用WindowChrome自定义Window Style

    1. 为什么要自定义Window 对稍微有点规模的桌面软件来说自定义的Window几乎是标配了,一来设计师总是克制不住自己想想软件更个性化,为了UI的和谐修改Window也是必要的:二来多一行的空间可 ...

  3. iframe in ipad safari

    http://developer.apple.com/library/safari/#documentation/appleapplications/reference/safariwebconten ...

  4. IBM MQ 创建以及常见问题集锦

    消息队列+发送队列+消息通道 接收通道名称与发送端的发送通道名称要一致,修改通道信息后要执行 start channle(chlname) 重启通道.常用的MQ命令 66.0.42.240 用户 mq ...

  5. Android ScaleDrawable

    顾名思义,Android ScaleDrawable实现一个drawable的缩放.写一个例子. 一个线性布局,垂直放几个ImageView,然后依次缩放若干个ScaleDrawable. 布局文件: ...

  6. 69. JPA实体Bean的生命周期【从零开始学Spring Boot】

    [从零开始学习Spirng Boot-常见异常汇总] 在使用JPA的时候,如果对bean的生命周期不了解的话,难免会碰到一些问题,比如:InvalidDataAccessApiUsageExcepti ...

  7. NYOJ448寻找最大数,贪心~~

    寻找最大数 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 请在整数 n 中删除m个数字, 使得余下的数字按原次序组成的新数最大, 比如当n=92081346718538 ...

  8. Go常量与枚举类型

    package main import ( "math" "fmt" ) //常量与枚举 //const数值可作为各种类型使用 func consts() { ...

  9. iOS-runtime-根据类名推送到任意控制器,且实现属性传值

    // // WJRuntime.m // RuntimeSkip // // Created by tqh on 15/9/8. // Copyright (c) 2015年 tqh. All rig ...

  10. 【二分图匹配】E. 过山车

    https://www.bnuoj.com/v3/contest_show.php?cid=9154#problem/E [题意] 裸的最大匹配 [教训] 一开始边数开了k,建的是无向图,结果T了,改 ...