java——第四章(1)

6.类的继承
6.1
类的继承是指一个现有类的基础上去构建一个新的类,构建出来的新类被称作父类或基类
1、子类继承父类中非private的成员变量和成员方法,同时,注意构造方法不能被子类继承。
2、定义类时若缺省extends关键字,则所定义的类为java.lang.Object类的直接子类。 在Java语言中,一切类都是Object类的直接或间接子类。
3、Java仅支持单重继承,即一个类至多只有一个直接父类。在Java中通过接口来实现多重继承。
4、父类中定义的private成员变量和方法不能被子类继承,因此在子类中不能直接使用。我们可以在父类中定义公共的访问方法和修改方法,子类可以通过这些方法来实现访问和修改。
举例:
public class Person {
private String name;
private int age;
public String getName() {
return name;
}
public int getAge() {
return age;
}
public Person() {
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public void say(){
System.out.println("My name is " + name);
}
}
6.2 子类重写父类
1、参数列表必须完全与被重写的方法相同。
2、返回的类型必须一直与被重写的方法的返回类型相同。
3、访问修饰符的限制一定不能小于被重写方法的访问修饰符。(public>protected>default>private)
5、子类和父类在同一个包中,那么子类可以重写父类所有方法,除了声明为private和final的方法。
7、构造方法不能被重写。
6.3 super关键字
6.3.1super关键字作业
(1) 在子类中默认是访问子类的成员,可以通过super关键字指定访问父类的成员;
(2) 创建子类对象时,默认会先调用父类无参的构造方法,可以通过super关键字指定调用父类的构造方法。
注; super关键字调用父类的构造函数时,该语句必须要是子类构造函数中的第一个语句
使用super来调用父类中的指定操作
super.成员变量
super.成员方法([参数1,参数2…])

class Animal{
String name=“动物”;
void shout(){
System.out.println(“叫声”);
}
}
class Dog extends Animal{
String name =“犬类”;
void shout90{
super.shout();
}
void print Name(){
System.out.println(“name”+super.name);
}
}
public class Example{
public static void main (String args[]){
Dog dog=new Dog();
dog.shout;
dog.printName();
}
}
使用super关键字调用父类的构造方法:
super([参数1,参数2… ])
class Animal{
public Animal(String name){
System.out.println(“我是一只”+name);
}
}
class Dog extends Animal{
public Dog(){
super(“哈巴狗”);
}
}
6.4 Object类
object类是所有类的父类,是每个类直接继承自它,当定义一个类的时候如果没有用extends这个关键字来指定父类那么该类会默认继承object类
class Animal
void shout(){
System.out.println(“动物叫”);
}
}
public class Ex{
public static void main (String args[])
Animal animal=new Aniamal();
system.out.println(animal.toString());
}
}
6.5 final关键字
1.final修饰的类不能被继承
2.final修饰的方法不能被子类重写
3.final修饰的变量(成员变量和局部变量)是常量,只能赋值一次
final calss Animal{
class Dog extends Animal{
}
}
public class Ex{
public statci void main(String []args){
Dog dog =new dog();
}
}
public class Ex{
public statci void main(String []args){
Dog dog =new dog();
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值