javase part4 - 面向对象

Object is everything.
一个简单的类的UML表示.png
面向对象几大概念:(封装,继承,多态) (类,对象,属性,方法)

封装
继承
多态

class className{
  [class body]
}
/**
 * 实体类 Book
 *
 * @author Panda
 */
public class Book {
    //定义属性
    private Integer bookId;
    private String bookName;
    private String bookAuthor;
    private Integer bookPrice;

    //定义方法,方法是类的行为,当前这个方法的行为就是将类中的属性打印到屏幕
    @Override
    public String toString() {
        return "Book{" +
                "bookId=" + bookId +
                ", bookName='" + bookName + '\'' +
                ", bookAuthor='" + bookAuthor + '\'' +
                ", bookPrice=" + bookPrice +
                '}';
    }
}
  • 类是创建同类型对象的蓝图或者模板
  • 类是使程序员可以创建问题抽象的一个oop工具
  • 因此,类决定对象
  • 类是Java程序最基本的构建块,Java中的所有程序必须属于类
  • 使用new关键字来创建一个类的实例

对象

  • 用oop语言开发应用程序时,可以创建一个和真实情况类似的模型来解决问题,这个模型就是对象

属性

  • 属性就是变量,可以是基本类型也可以是引用类型
  • 属性用来决定相同模板生产的对象的不同之处
  • 属性是对象的特征

方法

returnType methodName(listOfArguments){
  [method body]
}
  • 方法定义了类的对象可以做的动作(方法是对象的行为)
其余部分

构造器

constructorName(listOfArguements){
  [constructorBody]
}
  • 每个类必须有一个构造器,否则无法从这个类创建对象
  • 如果没有自定义构造器,编译器会默认添加一个无参的构造器(自定义了构造器就把默认的给干掉了)
  • 构造器可以没有参数
  • 构造器参数可以用来初始化变量中的属性

默认值

  • 类的属性不赋值会有默认值,同样的还有数组
  • 默认值:整型为0,浮点为0.0,布尔为false,String 为null

实例变量和局部变量

  • 如果局部变量和实例变量重名,方法使用变量会依据就近原则

this关键字

  • 可以使用关键字 this 从任何方法或者构造器引用当前的对象
  • 例如:如果有一个实例变量和局部变量重名,可以使用this关键字引用前者
  • this 关键字常见于 接受初始化属性的值的构造器中.

 /**
 * JavaBean
 * @author Panda
 */
public class Box {
    int length;
    int width;
    int height;

    /**
     * 构造方法
     * @param length        参数
     * @param width         参数
     * @param height        参数
     */
    public Box(int length, int width, int height) {
        //使用this.length 表示引用的是类的实例变量
        //参数length和表达式右侧的length是同一变量
        this.length = length;
        this.width = width;
        this.height = height;
    }
}

推荐阅读更多精彩内容