一文彻底弄懂JAVA面向对象(2)超详细讲解

目录

继承

继承类型

继承特性

总结

关键字super 和this

关键字final

构造器


继承

描述:

父类/基类 是通用的类。

子类称为继承类/派生类。

继承:可访问的数据域和方法,可另外添加

一个类定义一个类型 。(子类:子类型  父类同理

不同的类有一些共同的行为,特征。那么可以在一个通用类里表达这些共同点,为其他类所共用。

子类继承父类,子类对象(就是实例)有父类的实例域,方法。或者使子类具有父类相同的行为。

class 父类{

}

class 子类 extends 父类{

}
//公共父类
private String name;
private int id;
public Animal(String myName,int myid){
//初始化属性值
name = myName;
id = myid;
}

public void eat(){//吃这个方法的具体实现
System.out.println(name+"正在吃");
}

public void sleep(){//睡这个方法的具体实现
    System.out.println(name+"正在睡");
}

public void introduction(){
System.out.println(name+" "+id);
//子类
public class dog extends Animal{
    public dog (String myName,int myid){
        super(myName,myid);
    }
}

继承类型

单继承,多重继承,不同类继承同一个类

单继承:一个子类继承一个父类

多重继承:B类继承A类,C类继承B类····

继承特性

  • 子类有父类非private的属性,方法。
  • 子类拥有自己的属性,方法,子类可扩展
  • 子类可用自己方式实现父类的方法。
  • 提高了类之间的耦合性(耦合性越高,代码之间联系越紧密,代码独立性越差)

总结

如果父类里被private修饰,则子类无法继承和访问,父类访问子类需要new一个对象才能访问,不能直接访问。(类的实例方法可以直接调佣父类的非private实例方法)

实例成员包括实例变量和实例方法==成员变量和成员方法。

静态成员--类成员,静态变量--类变量,静态方法--类方法

extends关键字

单一继承,一个子类有一个父类,extends只继承一个类。

implements关键字

多继承,自我想象一下 ><

public class C implements A,B{
}

关键字super 和this

super对父类成员访问,调用父类方法

this对自己类成员访问,调用自己的方法

关键字final

修饰变量(类属性,对象属性,局部变量,形参)、方法(类方法,对象方法)和类。

final是java中的修饰符,可以修饰类,方法和属性,不能修饰接口和抽象类。

final把类定义 定义为最终类,不能被继承,

  • final修饰变量,则等同于常量
  • final修饰方法 中的参数,称为最终参数
  • final修饰类,则类不能被继承,用于修饰方法
  • final修饰方法可以被重载,但不能被子类重写
  • final定义的类,属性和方法不是final的
//声明:
final class 类名{
//类体
}

//声明方法
修饰符(public/private/default/protected) final 返回值类型 方法名(){//方法体}

构造器

子类不继承父类的构造器(构造方法或者构造函数),只调用(隐式或显式)。

若父类的构造器有参数,必须在子类构造器中显式的用super关键字调用父类的构造器并配参数列表。

如父类构造器无参,则子类构造器不使用super关键字调用父类构造器,直接自动调用父类的无参构造器

super的两种途径:

  • 调用父类的构造方法
  • 调用父类的普通方法

要调用父类的构造方法就必须使用关键字super,这个调用必须是构造方法的第一条语句。

在子类中调用父类的构造方法的名字会引起语法错误


码字不易,给个关注再走嘛~

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Python面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,它将数据和操作封装在对象中,通过对象之间的交互实现程序的设计和开发。下面是一些关键概念,帮助你更好地理解Python面向对象编程。 1. 类(Class):类是对象的蓝图或模板,描述了对象的属性和行为。它定义了对象的特征和方法。例如,我们可以定义一个名为"Car"的类来表示汽车,其中包含属性(如颜色、型号)和方法(如加速、刹车)。 2. 对象(Object):对象是类的实例,是具体的实体。通过实例化类,我们可以创建一个对象。例如,我们可以创建一个名为"my_car"的对象,它是基于"Car"类的实例。 3. 属性(Attribute):属性是对象的特征,用于描述对象的状态。每个对象都可以具有一组属性。例如,"Car"类的属性可以包括颜色、型号等。 4. 方法(Method):方法是对象的行为,用于定义对象的操作。每个对象都可以具有一组方法。例如,"Car"类的方法可以包括加速、刹车等。 5. 继承(Inheritance):继承是一种机制,允许我们创建一个新类(称为子类),从现有类(称为父类)继承属性和方法。子类可以扩展或修改父类的功能。继承可以实现代码重用和层次化设计。 6. 多态(Polymorphism):多态是一种特性,允许不同类的对象对同一方法做出不同的响应。多态提高了代码的灵活性和可扩展性。 7. 封装(Encapsulation):封装是一种将数据和操作封装在对象中的机制,隐藏了对象的内部实现细节,只暴露必要的接口给外部使用。这样可以保护数据的安全性,提供了更好的模块化和代码复用性。 通过理解这些概念,你可以更好地掌握Python面向对象编程。在实践中,你可以使用类来创建对象,操作对象的属性和调用对象的方法,通过继承和多态实现代码的灵活性和可扩展性,通过封装保护数据的安全性和提高代码的可维护性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值