final修饰的方法能否被继承?能否被重载?能否被重写?final修饰的类能否被继承? 您所在的位置:网站首页 java哪些方法不能被重写 final修饰的方法能否被继承?能否被重载?能否被重写?final修饰的类能否被继承?

final修饰的方法能否被继承?能否被重载?能否被重写?final修饰的类能否被继承?

#final修饰的方法能否被继承?能否被重载?能否被重写?final修饰的类能否被继承?| 来源: 网络整理| 查看: 265

首先我们先看下final在java中的作用

final在Java中可以用来修饰类、修饰方法和修饰变量

1. final修饰的类,为最终类,该类不能被继承。如String 类 2. final修饰的方法可以被继承和重载,但不能被重写 3. final修饰的变量不能被修改,是个常量

举例说明:

public class Person { private String name; private int age; private String sex; final public void work(){ //final 修饰的最终方法 可以被子类继承,但不能被重写 System.out.println("a person can do work"); } final public void work(int age){ //重载一个final类 System.out.println("a person can do another work"); } public void eat(){ //普通方法 可以被子类继承、重写 System.out.println("a person need to eat"); } public static void sleep(){ //静态方法 可以被继承 System.out.println("a person need to sleep"); } }

子类继承了父类Person 重写了父类普通方法eat() ,但不能重写父类final修饰的方法和静态方法

public class Man extends Person{ public void eat(){ System.out.println("the man also need do eat"); } public static void sleep(){ System.out.println("the man also need to sleep"); } }

注意: 在Java中静态方法可以被继承,但是不能被覆盖,即不能重写。 如果子类中也含有一个返回类型、方法名、参数列表均与之相同的静态方法,那么该子类实际上只是将父类中的该同名方法进行了隐藏,而非重写。(比如子类Man 中的sleep方法)



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有