`

java中继承

    博客分类:
  • java
阅读更多

1.一个子类不必非要使用继承下来的属性与方法,一个子类是可以选择覆盖已有的属性和方法,或添加新的属性和方法。

 

2.成员变量的继承与隐藏。

   public:若其父类的成员变量声明为public类型,无论是不是在同一个包里,子类都能继承其父类的该成员。

   private:若其父类的成员变量声明为private类型,任何子类都不能继承该成员。

   默认(不写)成员:若其父类的成员变量声明为默认(不写)类型,包外的子类不能继承该成员变量。

   protected:若其父类的成员变量声明为protected类型,若访问改变量的类位于包外,只有继承才能访问。

    public class test{

       public String str="父类的成员变量";

    }

 

    public class testnew extends test{

            public void getShow(){

            System.out.println(this.str );

        }

    }

 

  public class main {
   public static void main(String args[]){
       testnew t = new testnew();
       t.getShow();
   }
}

 

  成员变量的隐藏:子类中成员变量与父类的成员变量一样时,调用该成员变量时,被调的是子类的,父类的被隐藏了, 但是若用super.str时,还是引用的是父类的成员变量。

 

 

3 对象引用的使用

    对象引用的强制类型转换。

     public class test{

      String member=" 我是父类成员变量";

   }

 

    public  class testnew extends test{

          String member = "我是子类的成员变量,父类也有";

    }

 

  public  class main{

     public static  void main(String args[]){

                   test t = new testnew();

                    System.out.println("显示的是父类中的"+t.member) ;

                     System.out.println("显示的是子类的"+((testnew)t).member) ;

    }                 //此时对象t 的调用的只是 父类中的变量,子类中的调用不了

 }

 

 

 

 

方法的继承与重写

 1 方法的继承规则:方法也是一种成员,因此继承规则与成员变量的继承规则是完全一样的。
   public class test {
    public void show(){
        System.out.println("父类中的");
    }

    }

 

   public class testnew extends test {
    public void getShow(){
        System.out.println("子类中的");
        this.show();
    }

    }

 

 

   public class main {
   public static void main(String args[]){
       testnew t = new testnew();
       t.show();
       t.getShow();

   }
   }

 

返回类型的规则:

  1,基本数据类型:被重写方法的返回若为基本类型,则重写方法的返回类型必须与之完全相同

 

 

任何其他类都不能继承用final修饰的类,即使该类的访问限为public类型,也不能继承。

被final修饰的方法,该方法在子类中将无法重写,只能继承

 

 

 

抽象方法的继承与实现:抽象类的第一个非抽象子类必须实现其父类所有的抽象方法,其中也包括父类继承的抽象方法

 

 

接口---灵活性的基石

      1.接口声明中隐含了abstract,所以永远不能用final来修饰接口(abstract代表了抽象,final代表最终(很具体))

      interface Flyer{}

      interface JetFlyer extends Flyer{}

 

     2.接口中的成员变量都是隐含是"public static final"

 

     3.接口中方法无法使用的修饰符:static(静态的,接口中的方法不能被重写),final()

 

 抽象类与接口的不同之处 :抽象类更注重其是什么及其本质;而接口则不是,接口更注重具体有什么样的功能及其功能充当什么样的角色。

分享到:
评论

相关推荐

    java中继承与多态的题目

    Java 中继承与多态的题目 本资源摘要信息是关于 Java 中继承和多态的题目,涵盖了面向对象编程的基本概念和继承机制的应用。 继承的概念 继承是面向对象编程的一种机制,允许一个类(子类)继承另一个类(父类)...

    java中继承的使用案例

    (2)学生类Student继承Person,增加了学号信息,有两个构造方法Student()和Student(姓名,性别,年龄,学号),调用父类Person的构造方法对父类部分进行构造,在Student()中,默认学号为空字符串,在Student...

    Java中继承的特点、好处

    Java中继承的特点、好处

    java中继承测试代码分析

    Java 中继承测试代码分析 Java 中继承测试代码分析是 Java 编程语言中的一种重要概念。继承是基于已经存在的类构造一个新类,可以复用这些类的方法和域。在 Java 中,继承关系的指定是通过关键字 "extends" 实现的...

    Java中的继承脑图笔记(xmind)

    使用xmind整理的Java中继承中的脑图笔记(没有最好,只有更好)。包括的继承的概念、语法、注意事项等。。。有需要的童鞋可免费下载。。。

    java中继承课件

    上课老师讲得太快 没听懂 可以看看这个 讲的很详细

    Java中继承.pdf

    2. Java继承的分类 Java支持两种类型的继承: - 单继承:一个子类只能有一个直接父类。这是Java的默认模式,也是为了避免多继承带来的二义性问题。 - 多继承:一个子类可以从多个父类继承。然而,Java不直接支持多...

    为什么说Java中继承是有害的

    大多数好的设计者象躲避瘟疫一样来避免使用实现继承(extends 关系)。实际上80%的代码应该完全用interfaces写,而...“JAVA设计模式”一书详细阐述了怎样用接口继承代替实现继承。这篇文章描述设计者为什么会这么作。

    经典java继承例子

    在这个经典的Java继承例子中,我们将深入理解这一机制。 首先,我们要明确的是,继承的主要目的是减少代码冗余,提高代码的可维护性和可扩展性。在Java中,我们使用`extends`关键字来表示一个类继承自另一个类。...

    java中慎用继承 以及java中的stack的败笔

    本文将深入讨论Java中继承的优缺点,以及在特定情况下如何避免使用继承,同时探讨`java.util.Stack`类的设计问题。 继承是面向对象编程中的一个核心概念,主要目的有三个:代码重用、规范制定和实现多态。通过继承...

    java中的继承(子类调用父类构造方法还不懂).doc

    Java 中的继承(子类调用父类构造方法还不懂) Java 中的继承是指一个类可以继承另一个类的属性和方法,这样可以实现代码的复用和提高开发效率。在 Java 中,继承使用关键字 `extends` 来实现。 Java 中继承的注意...

    java基础学习(继承与接口的区别及产生原因)

    在深入探讨Java中继承与接口的区别以及其产生原因之前,我们先明确两个概念的基本定义。在面向对象编程中,继承是一种使一个类继承另一个类的属性和方法的机制,允许子类扩展或重写父类的行为。接口则是一种定义行为...

    Java 实现继承实例代码

    这个例子展示了Java继承的核心概念,包括: 1. 使用`extends`关键字创建子类。 2. 访问和覆盖父类的方法。 3. 添加子类特有的方法。 4. 多态性的应用。 通过学习这个实例,开发者能够更好地理解和运用Java的继承...

    Java类继承初始化顺序

    在Java编程语言中,类继承是面向对象设计的一个核心特性,它允许我们创建一个新类(子类)作为现有类(父类)的扩展。当我们谈论“Java类继承初始化顺序”时,涉及到的关键知识点包括构造器、成员变量的初始化、...

    JAVA中什么是继承.docx

    Java 中的继承 Java 中的继承是一个对象获取父对象的所有属性和行为的机制。它是 Java 面向对象编程技术的一块基石,因为它允许创建分等级层次的类。继承的概念是指子类继承父类的特征和行为,使得子类对象(实例)...

    Java中继承thread类与实现Runnable接口的比较

    Java 中继承 Thread 类与实现 Runnable 接口的比较 在 Java 中,创建线程有两种方式:继承 Thread 类和实现 Runnable 接口。这些方式都可以用来创建线程,但它们之间有着一些关键的区别。 继承 Thread 类 继承 ...

    java继承类文档

    该文件用于java基础知识学习,主要是介绍Java中继承类的知识点

    面向对象抽象思维与java继承机制

    面向对象抽象和Java继承机制是现代软件开发中不可或缺的部分。通过抽象,我们可以将复杂的问题分解为更小、更易于管理的部分;而通过继承,我们可以复用现有的代码,并且更容易地扩展和维护我们的程序。理解和熟练...

    java三大特性之继承

    java中支持多层继承(儿子-爹-爷爷。。。) 所有的类都直接或间接继承继承自Object 如果父类装起来,子类无法直接访问,但是子类确实有继承下来, 可以通过父类提供公共方式进行访问 如果...

    Java面向对象之继承练习题.doc

    1. **类的继承**:在Java中,继承是面向对象编程的重要特性,允许一个类(子类)继承另一个类(父类)的属性和方法。例如,我们可以创建一个`Music`类作为其他音乐相关类的基类。 2. **构造方法**:构造方法用于...

Global site tag (gtag.js) - Google Analytics