java之方法重写

来源:互联网 发布:恩威道源商城 知乎 编辑:程序博客网 时间:2024/05/09 06:39
class FatherClass
{
    int value = 0;
    void f()
    {
        value = 100;
        System.out.println("Father Classs :value="+value);
    }
}
class ChildClass extends FatherClass
{
    int value = 100;
    void f()
    {
        super.f();
        value = 200;
        System.out.println("Child Class:value="+value);
        System.out.println(value);
        System.out.println(super.value);

    }
}
class TestOverwrite
{
    public static void main(String[] args)
    {
        ChildClass child = new ChildClass();
        child.f();
    }
}
/*
总结:
1.继承:inherit
英 [?n?her?t] 美 [?n?h?r?t]
2.方法重载与方法重写的区别
重载:overload
重写:overwrite,override
3.权限的级别
private>default>protected>public
private对应类内部
default对应类内部,包级的类
protected对应类内部,包级别的类,子类
public,权限最大,在任何位置都可以使用
从左至右,权限依次变大
4.重写注意:
1)函数名完全一样
2)函数的权限不能比父类低
函数名如果写错,例如大小写的问题,就会造成很令人疑惑的错误,
因为编译不会出错,它把它当成了子类的一个特有方法看待而已,达不到自己想要的目的
因此,方法重写的最好方法是函数名直接copy,防止出错
5.super与this
两者都是子类对象中的两个特有的引用类型的变量
只不过前者指向从父类继承过来的父类对象,还是存在于子类对象的一块内存区域内
而super则是指向父类对象
6.在子类中方法重名叫方法重写
那么成员变量重名叫什么?
7.TestOverwrite.java:32: 错误: 编码GBK的不可映射字符
鎬荤粨锛?
    ^
    编码问题
如何修改编码
1)在另存时指定编码
2)设置EditPlus环境
首先,在Tools下拉后选择Configure User Tools,弹出用户配置对话框然后,在下面的对话框中的左侧选择Files设置项,在右侧面板中选择UTF-8编码即可:

最后点击OK,完成设置!


*/
0 0
原创粉丝点击