黑马程序员_继承

 
----------------------
android培训java培训、期待与您交流! -------------------

            extends 继承:

                    1、提高了代码的复用性。

                    2、让类与类之间有了关系,这样才有了多态的特性。

            java语言中:java只支持单继承(接口除外,接口之间支持多继承),不支持多继承。java支持多层继承。

            因为多继承容易带来安全隐患,当父类中定义了相同功能,但功能内容不同时,子类对象不确定要运行哪一个。对多继承进行改良变为多实现,因为接口中的方法都是抽象的,需要被覆写,调用的都是被子类覆写后的方法,所以不会出现子类对象不确定要运行哪一个的情况。

              this代表本类对象的引用。

              super代表父类对象的引用。

              子类中出现非私有的同名变量,this代表子类对象引用,super代表父类。

              覆盖、重写:子类与父类中有相同的函数时,运行子类的函数。用于程序的扩展。

                         1、子类覆盖父类,必须保证子类权限大于父类。(父类中权限是private的话,子类不能覆写)

                          2、静态只能覆盖静态。

              函数重载与覆写的区别:

                          重载:重载只看同名函数的参数列表,不同则为重载。

                          覆写:子父类方法名要一模一样,包括返回值类型,内容不一样。

              异常在子父类覆盖中的体现:

                           1、子类在覆盖父类时,如果父类的方法抛出异常,那么子类的覆盖方法,只能抛出父类的异常或者该异常的子类。

                            2、如果父类的方法抛出多个异常,那么子类在覆盖该方法时,只能抛出父类异常的子集。

                             3、如果父类或者接口的方法中没有异常抛出,那么子类在覆盖该方法时,也不可以抛出异常。如果子类方法发生了异常,就必须要进行try处理,绝对不能抛。

              子类的所有构造函数默认都会访问父类中空参数的构造函数。因为子类每一个构造函数内的第一行都有一句隐式super();当父类中没有空参数构造函数时,子类必须手动通过super语句形式来指定要访问父类中的构造函数。因为父类中的数据子类可以直接获取,所以子类对象在建立时,需要先查看父类是如何对这些数据进行初始化的,所以子类在对象初始化时要先访问一下父类中的构造函数。如果类不想被继承,那可以用final来修饰类;同样的如果类中的某个方法不想被子类覆写,也可以使用final来修饰该方法。

 ---------------------- android培训java培训、期待与您交流! -------------------

详细请查看:http://edu.youkuaiyun.com/heima

继承Java中的一种重要的面向对象编程概念,它允许一个类(子类)继承另一个类(父类)的属性和方法。通过继承,子类可以从父类中获得已有的属性和方法,并且可以在此基础上进行扩展或者修改。 在Java中,使用关键字"extends"来实现继承。子类通过继承父类,可以使用父类中的非私有属性和方法。子类可以直接访问父类的公有属性和方法,也可以通过super关键字来访问父类的构造方法和成员。 下面是一个简单的继承示例: ```java // 父类 class Animal { private String name; public Animal(String name) { this.name = name; } public void eat() { System.out.println(name + "正在吃饭"); } } // 子类 class Dog extends Animal { public Dog(String name) { super(name); } public void bark() { System.out.println("汪汪汪"); } } public class Main { public static void main(String[] args) { Dog dog = new Dog("旺财"); dog.eat(); // 调用父类的eat方法 dog.bark(); // 调用子类的bark方法 } } ``` 在上面的示例中,Animal类是父类,Dog类是子类。Dog类通过关键字"extends"继承了Animal类,从而可以使用Animal类中的属性和方法。在main方法中,我们创建了一个Dog对象,并调用了eat方法(来自父类)和bark方法(来自子类)。 通过继承,子类可以扩展父类的功能,并且可以在需要时覆盖父类的方法来实现特定的行为。继承Java中实现代码重用和多态性的重要手段之一。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值