面向对象、类、构造器、封装、继承、重写(重点)、代码块(执行顺序)、抽象类(重点)、接口(重点)、内部类

面向对象

  • Java的核心思想就是面向对象编程
  • 面向对象的本质:以类的方式组织代码,以对象的方式组织数据
  • 面向对象的三大特性:封装、继承、多态
  • 面向对象原则:组合>继承

引用传递需要实体类和属性(一个类中只能有一个公共类)

构造器

  • 一个类即使是空的,没有属性代码,也会有一个默认的无参构造器
  • 无参构造器便于实例化初始值,在构造器中this.属性设置初始值
  • 子类无参构造默认先调用父类的无参构造
  • 一旦定义有参构造,就必须显示无参构造
 private String name;

    public Practice() {
        this.name = "卢本伟";
    }
public class Test {
    public static void main(String[] args) {
        Practice practice = new Practice();
        System.out.println(practice.getName());
    }
    //输出结果为卢本伟

构造方法必须和类的名字相同
不能写void也没有返回类型

idea快捷键alt+insert

封装

属性私有,get/set
可以在set处做判断保证数据的合法性
保证系统安全性,提高系统的课维护性,统一接口隐藏细节

package com.ma.study;

public class Practice {
    //属性私有
    private String name;

    public void setName(String name) {
        //可以做出判断保证数据合法性
        if (name.length()>0&&name.length()<5){
        this.name = name;
        }else{
         this.name = "11";
        }
    }

    public String getName() {
        return name;
    }
}
package com.ma.study;

public class Test {
    public static void main(String[] args) {
        Practice practice = new Practice();
        practice.setName("111111");
        //输出的是11,因为不符合规则
        System.out.println(practice.getName());
    }
}

继承

  • 关键词:extends

Java中类只能单继承和多层继承
接口可以多继承

  • 子类可以继承父类的方法和属性
  • Object是所有未声明继承关系类的父类
  • super调用父类的构造方法
  • super和this不能同时调用构造方法

Ctrl+H查看继承关系

重写

    1. 必须有继承关系
    1. 子类重写父类的方法
    1. 方法名相同,参数列表不同
    1. 修饰符范围可以扩大 public>protect>default>private
    1. 异常的范围可以被缩小但不能被扩大

为什么西药重写?
父类的功能子类不一定需要或不一定满足

多态

 //父类引用指向子类类型  可以理解为爸爸有需要时候向儿子借东西
        Father father = new Son();
    1. 必须在继承的前提下,且多态也是方法的多态
    1. 对象能执行的方法取决于左边的类型
  • instanceof类型转换

代码块

执行顺序:

静态代码块>匿名代码块>普通代码块
static代码块只执行一次

抽象类

  • 关键词:abstract
  • 抽象类不能new,只能实现

有抽象方法一定是抽象类

抽象类中可以有普通方法

抽象方法必须在抽象类中

接口

  • 关键词:implements
  • 接口只能被实现
  • 实现类实现接口后需要重写其中的方法

接口比抽象类更加抽象实现约束和实现分离
接口的本质是契约,就是一个专业的约束
接口不是类所以没有构造方法

内部类

类中还可以有类,不赘述

异常

  • 检查性异常:由于用户错误或问题引起的异常
  • 运行时异常,在编译时被忽略的异常
  • 错误ERROR不是异常EXCEPTION,这个时脱离程序员控制的错误,在编译时检查不到

异常处理机制

  • 异常处理五个关键字:try,catch,finally,throw(主动抛出异常),throws
  • try是测试,catch是捕获异常,finally是最终都会走的路径快捷键:alt+enter
  • try catch快捷键ctrl+alt+t
  • throw new 异常名称();主动抛出异常
自定义异常

继承Exception类 ,然后调用输出

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值