面向对象

类与对象的创建

类是模板(属性和方法的集合),对象是具体实例

使用new关键字创建对象

构造器(构造函数[方法])

构造函数是创建对象是必须调用的,且具有两个特点:

  • 必须和类名相同
  • 必须没有返回类型,也不能使用void
  • 一旦定义有参构造(重载),无参构造必须存在
  • this.代表当前类

创建对象内存分析

1、堆 存放new的对象和数组,可以被所有的线程共享,不会存放别的对象引用

2、栈 存放基本变量类型(包含这个基本类型的具体数据),引用对象的变量(会存放这个引用在堆里面的具体地址) 先进后出

3、方法区 可以被所有线程共享,包含了所有的class和static变量

对象是通过引用来操作的:栈-->堆

封装详解

禁止直接访问一个对象中的数据,通过操作接口来访问。

访问权限:

  • public

  • private

  • default(默认)

  • protected

    创建get set公共方法提供一些可以操作私有属性的方法

    //alt+insert快捷键自动生成getset方法

继承介绍

继承的本质对类的扩展后构建新的类

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

  • 使用关键字extends来表示

  • private无法继承

  • 所有类默认继承Object类

  • super 指父类创建对象,this指当前对象,super调用父类的构造方法,必须在构造方法的第一个

    import camp.Person;
    import camp.Student;
    public class Application {
        public static void main(String[] args) {
            Student student = new Student();
            student.Test("lib");
        }
    }
    //
    package camp;
    
    public class Student extends Person{
        private String name = "camp";
    
        public void Test(String name) {
            System.out.println("name = " + name);
            System.out.println("this.name = " + this.name);
            System.out.println("super.name = " + super.name);
        }
    }
    //
    package camp;
    
    public class Person {
        protected String name = "标识";
    }
    
    

方法重写

静态方法:方法的调用只和左边定义的数据类型有关

重写:需要有继承关系,子类重写父类的方法

1、方法名必须相同

2、参数列表必须相同

3、修饰符范围可扩大不可缩小

4、抛出的异常:范围,可缩小不能扩大

多态

多态:同一方法根据发送对象的不同而采用多种不同的行为方式

一个对象的实际类型是确定的,但可以指向的引用类型就不确定了:父类的引用指向子类

子类重写了父类的方法,执行子类的方法

方法才有多态,属性是不存在多态的。

无法重写的三种情况:

1、static 属于类,不属于属性 2、final 常量 3、private 方法

instanceof和类型转换

static关键字详解

静态导入包

抽象类

abstract修饰符可以用在修饰方法也可以修饰类

抽象类中可以没有抽象方法,但有抽象方法的类一定声明为抽象类。

抽象类,不能使用new关键字来创建对象,它是用来让子类继承的。

抽象方法,只有方法的声明,没有方法的实现,它是用来让子类实现的。

子类继承抽象类,那么就必须实现抽象类没有实现的抽象方法,否则该子类也要声明也抽象类。

声明不干事,挖坑给子类

java没有多继承,但接口可以“多继承”

接口的定义与实现

类:只有实现

抽象类:具体实现和规范都有

接口:只有规范!约束和实现分离

接口的关键字为interface

public interface

实现类类名后缀加Impl

implement

N种内部类

1.成员内部类

2.静态内部类

3.局部内部类

方法内创建类

4.匿名内部类

捕获与抛出异常

异常处理五个关键字:

try、catch、finally、throw、throws

try监控区,catch捕获异常,finally最后必定执行语句

快捷键 ctrl+alt+T

throw 创建异常告警,throws甩锅

posted @ 2021-02-22 09:44  libhoop  阅读(46)  评论(0)    收藏  举报