Java学习笔记

2019-04-02  本文已影响0人  YLiuY

一. 面向对象

1. 初始化块

2. Object类

所有的Java对象都是Object的实例,可以调用该类中定义的方法。

3. 类成员

使用static修饰的成员就是类成员,类成员属于整个类,不属于单个实例。static不能修饰构造器。静态成员不能访问、使用实例变量和方法。可以通过实例访问静态成员。
一个重要的用途:单例类。

class SingleTon {
   //缓存创建的类
    public static SingleTon instance;
    //构建器设为private,只能自己调用
    private SingleTon() {
    }
    //在实例化该类之前,不存在对象,所以只能使用staic类方法
    public static SingleTon getInstance() {
        if (instance==null) {
            instance = new SingleTon();  //调用构建器
        }
        return instance;
    }
}

4. final修饰符

final修饰变量时表示该变量一旦获得初始值就不可被改变。可以用来定义“宏变量”

5. 抽象方法和抽象类

abstract修饰符修饰的方法和类称为抽象方法和类。抽象方法一定在抽象类中,抽样类中可以没有抽象方法。

6. 接口

接口可以有多个直接父接口,但只能继承接口,不能继承类。

[修饰符] interface 接口名 extends 父接口1,父接口2...
{
    零到多个常量定义...
    零到多个抽象方法定义...
    零到多个内部类、接口、枚举定义...
    零到多个默认方法或类方法...
}
  1. 接口体现了一种规范,规定了实现者必须提供某些服务。类似于一个系统的“总纲”,制定了系统个模块的标准,因此接口不应该经常改变。
  2. 抽象类体现了一种模板设计,被当成系统实现过程中的中间品,已经实现了某些功能,但不是最终产品。
  3. 接口只能有类方法和默认方法,不能有普通方法提供方法实现。抽象类可以有普通方法
  4. 接口没有静态方法,抽象类有
  5. 接口只能定义静态常量,抽象类可以定义各种成员变量
  6. 接口不包含构造器;抽象类包含构造器,是让子类调用这些构造器完成对抽象类的初始化操作。
    接口的使用场景:1.简单工厂模式 2.命令模式

7. 内部类

定义在其他类内部的类称为内部类。匿名内部类适合用于创建那些仅需要使用一次的类。

new 实现接口 ()| 父类构造器()   //只能实现或继承一个接口或父类
{
  //匿名内部类的方法体
}

8. Lambda表达式

Lambda表达式支持将代码块作为方法的参数。

上一篇下一篇

猜你喜欢

热点阅读