首页 > 编程语言 > 详细

Java面向对象_基础

时间:2020-05-16 12:41:41      阅读:38      评论:0      收藏:0      [点我收藏+]

面向对象

 

构造器

  • 构造器也称为构造方法

  • 必须和类名相同

  • 没有返回值,也不能写void

  • 注意:定义有参构造必须显式定义无参构造

  • 生成构造器的快捷方式:alt+insert

  • this. 代表当前类的属性

 

封装

  • 记住:属性私有,get/set

public class Student{
   private String name;
   private int id;
   private char sex;
   
   public String getName(){
       return this.name;
  }
   
   public void setName(String name){
       this.name = name;
  }
}

快捷键:alt+insert

注意:重写有参构造时,必须显式定义无参构造

 

 

继承

  • Java中类只有单继承,没有多继承

  • 在Java中所有的类,都默认直接或间接继承object类

  • 关键词:extend

  • 私有的东西无法被继承

 

super、this 注意点

  • super调用父类的构造方法必须在子类构造方法的第一个

  • super和this不能同时调用构造方法

  • this代表本身这个对象

  • super代表父类对象

  • this(); 本类的构造

  • super(); 父类的构造

重写

  • 子类重写父类的方法

  • 方法名相同,参数列表相同,方法体不同

  • 修饰符范围可以扩大但不能缩小 public > protected > default > private

  • 抛出的异常范围可以缩小但不能扩大

快捷键:alt+insert    override

接口

定义

  • 接口就是多个类的公共规范,接口就是一种引用数据类型,最重要的就是其中的抽象方法

  • 格式:

public interface 接口名称{
   //接口内容
}

接口中可以包含

  • Java 7

    1、常量

    2、抽象方法

  • Java 8

    3、默认方法

    4、静态方法

  • Java 9

    5、私有方法

接口使用步骤

  • 接口不能直接使用,必须有一个实现类来实现该接口

public class 实现类名称 implements 接口名称{
   //...
}
  • 接口的实现类必须重写接口中所有的抽象方法

实现:去掉abstract关键字,加上方法体大括号

  • 创建实现类对象,进行使用

注意

  • 如果实现类并没有重写接口中所有的抽象方法,那么这个实现类自己就必须是抽象类。

接口的抽象方法

public abstract 返回值类型 方法名称(参数列表);

 

接口的默认方法

public default 返回值类型 方法名称(参数列表) {
   //方法体
}

接口的静态方法

public static 返回值类型 方法名称(参数列表) {
   //方法体
}

注意:不能通过接口实现类的对象来调用接口当中的静态方法。

正确用法:接口名称.静态方法名(参数);

接口的私有方法

  • 普通私有方法,解决多个默认方法之间重复代码问题

private 返回值类型 方法名称(参数列表) {
   //方法体
}
  • 静态私有方法,解决多个静态方法之间重复代码问题

private static 返回值类型 方法名称(参数列表){
   //方法体
}

接口的常量定义

public static final 数据类型 常量名称 = 数据值;
  • 可以省略public static final

  • 必须进行赋值

  • 命名规则:完全大写,下划线

继承父类并实现多个接口

  • 接口是没有静态代码块或者构造方法的。

  • 一个类的直接父类是唯一的,但是一个类可以同时实现多个接口。

public class 类名 implements 接口1,接口2{
   //覆盖重写所有抽象方法
}
  • 如果实现类所实现的多个接口中,存在重复的抽象方法,只需要重写一次即可。

  • 如果实现类没有重写所有接口中的所有抽象方法,那么实现类必须是抽象类。

  • 如果实现类所实现的多个接口中存在重复的默认方法,那么实现类一定要对冲突的默认方法进行重写。

  • 一个类如果直接父类当中的方法和接口中的默认方法产生冲突,优先使用父类的方法。

接口与接口之间的多继承

  • 类与类之间是单继承关系

  • 类与接口之间是多实现的,一个类可以实现个接口

  • 接口与接口之间是多继承的

多态

多态的体现

  • 父类引用指向子类对象

格式

父类名称 对象名 = new 子类名称();
接口名称 对象名 = new 实现类名称();

多态中成员变量的使用

  • 直接通过对象名称访问成员变量:看等号左边是谁,优先用谁,没有则向上找。

  • 间接通过成员方法访问成员变量:看该方法属于谁,优先用谁,没有则向上找。

多态中成员方法的使用

  • 多态对象只能访问子类从父类继承过来的成员方法

  • 口诀:编译看左边,运行看右边

解释:父子都有,优先用子,子类没有则向上找,父类没有则报错。

Java面向对象_基础

原文:https://www.cnblogs.com/zzllll/p/12899516.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!