java中的數據模型類


package com.aaa.zxf.ajax.test;

import java.io.Serializable;

/**
 * java中的繼承。
 *
 * 一、數據模型類
 *      數據模型類:用來存取數據庫數據對應的java類
 *      理解成:需要將先有的類完善成標准的數據模型類
 *
 *
 * 二、訪問控制修飾符
 *
 * public : 公共的。 對所有類可見(在同一個工程中 任何類都可以調用)。使用對象:類、接口、成員變量、方法
 * protected : (包權限和繼承權限 )對同一包內的類或所有子類可見。使用對象:成員變量、方法。 注意:不能修飾類(外部類)。包權限指的使 即使沒有關系但是在同一個包中 可以訪問  繼承權限指的是 即使不在同一個包中但是有繼承關系 依然可以訪問
 * default (即缺省,什么也不寫): 包權限  在同一包內可見,不使用任何修飾符。使用對象:類、接口、成員變量、方法。 注意 什么都不寫並不代表沒有權限修飾符 而是代表默認的權限修飾
 * private : 在同一類內可見。使用對象:變量、方法。 注意:不能修飾類(外部類)
 *
 * 我們可以可以通過以下表來說明訪問權限:
 * 訪問控制
 * 修飾符    當前類    同一包內    子孫類    其他包
 * public    Y    Y    Y    Y
 * protected    Y    Y    Y    N
 * default    Y    Y    N    N
 * private    Y    N    N    N
 *
 */
public class JavaJiCheng {
    public static void main(String[] args) {

        People p = new People();
//        p.age = -45;        // age  -45?  如何解決?   給age 設置 set方法 進行基本的判斷。。
//
//        p.name = "haha";
//        System.out.println("name="+p.name+"     age="+p.age );

        /**
         * 通過set 賦值
         * get     獲得
         */
        People p1 = new People();
        p1.setAge(45);
        p1.setName("xixi");

        int age = p1.getAge();

    }
}

//1.創建一個數據模型類
class  People{
    private     int age;
    private     String name;

    /**
     *     我們希望 有了set方法之后 就不要使用 打點調用的形式了。
     *     解決方案:將成員變量的權限修飾符設定為 私有的。
     */
        void setAge(int age){
            // 三元運算符   不大於0 就將age 賦值為0
            this.age = age>0 ? age :0;
        }

        void setName(String name){
            this.name = name;
        }


    /**
     * 解決私有屬性無法調用的問題
     *
     * 建立一個  get方法
     */
    public int getAge(){
        return  age;
    }

    public String getName(){
        return  name;
    }

}


//數據模型類最終版

class  Book implements Serializable {

    private  int bookid;
    private  String bookname;
    private  double price;
    private  String autor;

    public Book() {
    }

    public Book(int bookid, String bookname, double price, String autor) {
        this.bookid = bookid;
        this.bookname = bookname;
        this.price = price;
        this.autor = autor;
    }

    public int getBookid() {
        return bookid;
    }

    public void setBookid(int bookid) {
        this.bookid = bookid;
    }

    public String getBookname() {
        return bookname;
    }

    public void setBookname(String bookname) {
        this.bookname = bookname;
    }

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    public String getAutor() {
        return autor;
    }

    public void setAutor(String autor) {
        this.autor = autor;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        Book book = (Book) o;

        if (bookid != book.bookid) return false;
        if (Double.compare(book.price, price) != 0) return false;
        if (bookname != null ? !bookname.equals(book.bookname) : book.bookname != null) return false;
        return autor != null ? autor.equals(book.autor) : book.autor == null;

    }

    @Override
    public int hashCode() {
        int result;
        long temp;
        result = bookid;
        result = 31 * result + (bookname != null ? bookname.hashCode() : 0);
        temp = Double.doubleToLongBits(price);
        result = 31 * result + (int) (temp ^ (temp >>> 32));
        result = 31 * result + (autor != null ? autor.hashCode() : 0);
        return result;
    }

    @Override
    public String toString() {
        return "Book{" +
                "bookid=" + bookid +
                ", bookname='" + bookname + '\'' +
                ", price=" + price +
                ", autor='" + autor + '\'' +
                '}';
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM