java中的继承(子类调用父类构造方法还不懂)
declarations n. 声明
extends v. 继承
继承中注意的问题:
1 重写(也叫覆盖,也叫重构):重写方法必须和被重写方法具有相同的方法名称、参数列表和返回值类型;
重写方法不能使用比被重写方法更严格的访问权限。
重写是类与类之间的关系,两者必须是继承关系。重载是方法与方法之间的关系。
2 关键字super:
在Java类中使用super来引用父类的成分
super可用于访问父类中定义的属性
super可用于调用父类中定义的成员方法
super可用于在子类构造方法中调用父类的构造方法
super的追溯不仅于直接父类,就是father的father。。。。。。
Supper关键字有两个特殊的用途:
在子类构造函数中调用父类的构造函数
在子类中调用父类的方法。
3 多态:多态就是重写和重载!而上塑造型或虚方法的调用更好的体现了多态。
上溯造型(也叫虚方法)中,方法是调用子类自己的,属性是调用父类的。(一个引用类型变量如果声明为父类的类型,
但实际引用的是子类对象,那么该变量就不能再访问子类中添加的属性和方法)
public class Father {
public String name = "王惠";
public void bidBoy(){
System.out.println("今天我要是不打你,我就不是你娘!!!");
}
}
public class Son1 extends Father{
public String name1 = "王鹏的姐姐";
public String name = "张三三";
public void bidBoy(){ //重写
System.out.println("我做错了什么?为什么你要打我!!!");
System.out.println(super.name);
System.out.println(name);//如果子类没有n
相关文档:
类的初始化和对象初始化是 JVM 管理的类型生命周期中非常重要的两个环节,Google 了一遍网络,有关类装载机制的文章倒是不少,然而类初始化和对象初始化的文章并不多,特别是从字节码和 JVM 层次来分析的文章更是鲜有所见。
本文主要对类和对象初始化全过程进行分析,通过一个实际问题引入,将源代码转换成 JVM 字节码后, ......
定义一个接口
package com.beckham;
/*
* 定义一个接口
*/
public interface Move {
public void move() ;
}
核心的实现类
package com.beckham;
/*
* 最初的接口实现
*/
public class Tank implements Move {
public void move() {
System.out.println("坦克开动.......");
}
}
......
刚在本子上装了Windows 7 x64,然后装了64位的JRE,发现Eclipse和OO有些怪异的行为。具体而言就是程序无法正确结束:点窗口右上方的叉不好使了。点了后进程并没有结束,而只是在当前窗口和后台窗口之间切换。正在下32位的JRE,等装上看看结果。
看起来应该有两种方法解决:用32位的JRE或者换成64位的Eclipse和OO。
解决: ......
前天一哥们问我一个小问题如下
Java程序如下:
class yiwei
{
public static void main(String [] args)
{
int i = -4;
int c = i>>>1;
System.out.println(c);
......