码迷,mamicode.com
首页 > 编程语言 > 详细

Java面向对象基础

时间:2018-04-13 13:26:38      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:height   耦合   test   sys   font   声明   extends   string   end   

学习笔记

一、继承

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面向对象基础

标签:height   耦合   test   sys   font   声明   extends   string   end   

原文地址:https://www.cnblogs.com/Dreamice/p/8819583.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!