Java面向对象基础

Posted Dreamice

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java面向对象基础相关的知识,希望对你有一定的参考价值。

学习笔记

一、继承

1、继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类

2、Java的继承是单继承,不可以像接口一样多继承,但是可以多重继承,单继承就是一个子类只能继承一个父类,多重继承就是,例如A类继承B类,B类继承C类,所以按照关系就是C类是B类的父类,B类是A类的父类,这是java继承区别于C++继承的一个特性。

3、缺点:提高了类之间的耦合性(继承的缺点,耦合度高就会造成代码之间的联系)。

4、继承可以使用 extends 和 implements 这两个关键字来实现继承,而且所有的类都是继承于 java.lang.Object,当一个类没有继承的两个关键字,则默认继承object(这个类在 java.lang 包中,所以不需要 import)祖先类。

5、super关键字:我们可以通过super关键字来实现对父类成员的访问,用来引用当前对象的父类。

  this关键字:指向自己的引用。

6、final 关键字声明类可以把类定义为不能继承的,即最终类;或者用于修饰方法,该方法不能被子类重写;

7、构造器(构造函数)

  子类不能继承父类的构造器(构造方法或者构造函数),但是父类的构造器带有参数的,则必须在子类的构造器中显式地通过super关键字调用父类的构造器并配以适当的参数列表。

  如果父类有无参构造器,则在子类的构造器中用super调用父类构造器不是必须的如果没有使用super关键字,系统会自动调用父类的无参构造器。(代码理解如下)

//父类
public class ParentClass {
    private int n;
      ParentClass(){
        System.out.println("父类构造函数:ParentClass()");
      }
      ParentClass(int n) {
        System.out.println("父类构造函数:ParentClass(int n) "+n);
        this.n = n;
      }     
}

//子类
public class ChildClass extends ParentClass {
    private int n;      
      ChildClass(){
        super(300);
        System.out.println("子类构造函数:ChildClass()");
      }  
      
      public ChildClass(int n){
        System.out.println("子类构造函数:ChildClass(int n)"+n);
        this.n = n;
      }
}

//测试类
public class MainTest {
    public static void main(String[] args) {
        ChildClass cc=new ChildClass();
        ChildClass cc2=new ChildClass(200);
    }
}

输出结果为:

父类构造函数:ParentClass(int n) 300
子类构造函数:ChildClass()
父类构造函数:ParentClass()         //如果没有使用super关键字,系统会自动调用父类的无参构造器
子类构造函数:ChildClass(int n)200




以上是关于Java面向对象基础的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段9——JS中的面向对象编程

Java基础—面向对象

Java基础教程:面向对象编程

Java基础面向对象

Java巩固——面向对象基础

Java巩固——面向对象基础