A)继承
1.Java的继承语法格式
Java继承的关键字是:extends
格式:
public class 子类名 extends 父类名 {
}
注意:Java中类的继承是单继承。
2.子类继成了父类的属性和方法的情况
如下代码说明:
父类中 :
packge stu; public class Student { //定义两个属性 public String name; private int score; /** * 构造方法 */ public Student(){ this("王五",5) /** * 构造方法 给属性赋值初始值 */ public Student(String name,int score){ //赋值 this.name = name; this.score = score; } public void setName(String name){ this.name = name; } public String getName(){ return name; } public void setScore(int score){ this.score = score; } public int getScore(){ return score; } /** * 定义学习方法 */ public void study(){ score++; System.out.println(name+"学习中,学分是"+score); } }
子类中:
/** * 定义一个UNStudent类,该类继承自Student */ public class UNStudent extends Student { public void test(){ System.out.println("UNStudent Test"); } }
如上代码,可知子类继承父类后,子类和子类的对象能直接调用的属性和方法分为两种情况:
a.子类和父类在同一包下:
1).私有的属性(如属性score),方法以及构造方法是不能被子类的对象(子类对象)直接调用的。
2).默认的,受保护的(name)和公有的属性以及方法(如study)方法都可以被子类的对象以及子类直接调用。
b.子类和父类在不同的包下:
1) 在子类的{}中,只有公有的,受保护的属性和方法能在子类中直接调用。
2) 子类对象调用方法时,那么只有公有的属性和方法能被子类对象调用。
B)方法的重写:
如下代码说明:
package stu; /** * 定义大学生类 * @param args */ public class Student { /** * 所有学生都有学习方法 */ private String name; public void study(){ System.out.println("学生名字是"+name); } //设定学生名字 public void setName(String name){ this.name=name; } public String getname(){ return name; } } 调用: package stue; public static void main(String[] args){ UNStudent uns=new UNStudent(); //调用从父类继承来的方法 uns.seName("我是大学生"); uns.study(); }
1.new 关键字后面的构造方法时谁的,就调用谁的方法。
2.会优先调用子类类中的方法,如果子类中没有这些方法,则会调用父类中的属性和方法。
注意:当实现继承后,在子类中也可以实现方法重载。
相关推荐
Java 继承知识点的相关学习。
静态(static)方法的继承和重写
继承是一种重要的面向对象编程概念,它允许我们创建一个新类,该类继承了另一个类的属性和方法。重写方法是指在子类中重新定义父类中已经存在的方法。这篇文章将介绍如何在Python中使用继承类重写方法。 在Python中...
继承是一种重要的面向对象编程概念,它允许我们创建一个新类,该类继承了另一个类的属性和方法。重写方法是指在子类中重新定义父类中已经存在的方法。这篇文章将介绍如何在Python中使用继承类重写方法。 在Python中...
定义抽象类以及抽象方法,构造方法,将子类1定义为抽象类,子类2继承子类1,子类2重写抽象方法。用以帮助理解多重继承、抽象方法重写调用、super、this关键字使用、构造方法、重载这几个的知识点
重写:是指重写基类的方法,在基类中的方法必须有修饰符virtual,而在子类的方法中必须指明override。重载:用于在给定了参数列表和一组候选函数成员的情况下,选择一个最佳函数成员来实施调用。多态:c#的多态性...
一、多态性:解释了Java中多态性的概念,以及通过继承和方法重写实现多态性的方式。 二、异常处理:介绍了Java中的异常处理机制,包括使用try-catch语句块捕获和处理异常,以及列举了几个常见的异常类。 三、线程...
java 重载,重写以及继承,多态的区别
但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖。 若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的...
重写和被重写方法返回值必须相同 * 此方法错误 */ // public double getSides() { // return 3d; // } // end // begin /** * 4. 重写方法抛出的异常必须和被重写方法抛出异常一致,或者是其子类 * 详细见:...
详细描述继承,多态的概念和应用,阐述重载和重写的区别
ext继承重写,达到了很高的水平。使用了很多方式,等等。
day09_07_继承中方法的覆盖重写_注意事项
day09_08_继承中方法的覆盖重写_应用场景
用共有继承的方法求一类图型的面积 共有继承 类 没有c++程序的可以单击右键选择打开方式用txt打开可看见源代码。
day004 面向对象3-继承、抽象和方法的重写.doc
方法 实例: class Animal: def eat(self): print("-----吃-------") def drink(self): print("-----喝--------") class Dog(Animal): def drak(self): print("汪汪叫") a=Animal() a.eat() 孙类是可以继承...
day09_06_继承中方法的覆盖重写_概念与特点
类的继承 抽象类 类的继承 继承的意义 继承的语法 语法形式 class childClass extends parentClass { //类体 }