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 + '\'' +
'}';
}
}

java中的数据模型类的更多相关文章

  1. 带有静态方法的类(java中的math类)

    带有静态方法的类通常(虽然不一定是这样)不打算被初始化. 可以用私有构造函数来限制非抽象类被初始化. 例如,java中的math类.它让构造函数标记为私有,所以你无法创建Math的实例.但Math类却 ...

  2. java中的File类

    File类 java中的File类其实和文件并没有多大关系,它更像一个对文件路径描述的类.它即可以代表某个路径下的特定文件,也可以用来表示该路径的下的所有文件,所以我们不要被它的表象所迷惑.对文件的真 ...

  3. Java基础(43):Java中的Object类与其方法(转)

    Object类 java.lang.Object java.lang包在使用的时候无需显示导入,编译时由编译器自动导入. Object类是类层次结构的根,Java中所有的类从根本上都继承自这个类. O ...

  4. java中基于TaskEngine类封装实现定时任务

    主要包括如下几个类: 文章标题:java中基于TaskEngine类封装实现定时任务 文章地址: http://blog.csdn.net/5iasp/article/details/10950529 ...

  5. Java中的Unsafe类111

    1.Unsafe类介绍 Unsafe类是在sun.misc包下,不属于Java标准.但是很多Java的基础类库,包括一些被广泛使用的高性能开发库都是基于Unsafe类开发的,比如Netty.Hadoo ...

  6. Java中遍历实体类(处理MongoDB)

    在实际过程中,经常要将实体类进行封装,尤其是处理数据库的过程中:因此,对于遍历实体类能够与数据库中的一行数据对应起来. 我是使用的环境是Spring boot,访问的数据库时MongoDB 实体类遍历 ...

  7. java中遍历实体类,获取属性名和属性值

    方式一(实体类): //java中遍历实体类,获取属性名和属性值 public static void testReflect(Object model) throws Exception{ for ...

  8. Java中的BigDecimal类精度问题

    bigdecimal 能保证精度的原理是:BigDecimal的解决方案就是,不使用二进制,而是使用十进制(BigInteger)+小数点位置(scale)来表示小数,就是把所有的小数变成整数,记录小 ...

  9. java 中常用的类

    java 中常用的类 Math Math 类,包含用于执行基本数学运算的方法 常用API 取整 l  static double abs(double  a) 获取double 的绝对值 l  sta ...

随机推荐

  1. 【LeetCode】52. N-Queens II 解题报告(Python & C+)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 全排列函数 回溯法 日期 题目地址:https:// ...

  2. 【LeetCode】91. Decode Ways 解题报告(Python)

    [LeetCode]91. Decode Ways 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fux ...

  3. Xcode Error returned in reply: Connection invalid

    当电脑上有Xcode两个版本是使用其中的某一个的Simulator时出现了这样的报错 在Preference->Location->Command Line Tool 选择 Xcode 9 ...

  4. 揭秘人脸对齐之3D变换-Java版(文末赋开源地址)

    一.人脸对齐基本概念 人脸对齐通过人脸关键点检测得到人脸的关键点坐标,然后根据人脸的关键点坐标调整人脸的角度,使人脸对齐,由于输入图像的尺寸是大小不一的,人脸区域大小也不相同,角度不一样,所以要通过坐 ...

  5. Java初学者作业——编写Java程序,根据输入的某个班级的学员成绩,计算该班级学员的平均成绩,要求输入班级的人数。

    返回本章节 返回作业目录 需求说明: 编写Java程序,根据输入的某个班级的学员成绩,计算该班级学员的平均成绩,要求输入班级的人数. 实现思路: 声明变量sum.count以及avg用于存储总成绩.班 ...

  6. 编写Java程序,创建Dota游戏中的兵营类,兵营类有一个类成员变量count、一个实例变量name和另一个实例变量selfCount。

    返回本章节 返回作业目录 需求说明: 创建Dota游戏中的兵营类 兵营类有一个类成员变量count.一个实例变量name和另一个实例变量selfCount. count表示的是兵营已经创建士兵的总数: ...

  7. emqx的一个配置参数

    这个参数尝试改为internal后,所有用户都可以匿名登录

  8. Kafka基础教程(三):C#使用Kafka消息队列

    接上篇Kafka的安装,我安装的Kafka集群地址:192.168.209.133:9092,192.168.209.134:9092,192.168.209.135:9092,所以这里直接使用这个集 ...

  9. JMeter_请求参数

    在做接口测试时,发送请求的参数有两种格式,一种是Parameters,一种是JSON 一.Jmeter传参 JMeter 传Parameters格式的参数 JMeter 传JSON格式的参数 二.区分 ...

  10. sqlplus -S参数表示什么意思?

    sqlplus -S , -S选项是静默模式,是Silent的缩写.在这种模式下将会以最精简的形式完成SQL*Plus的交互过程. -S模式多用于脚本模式.在命令行sqlplus -S还有可能出现卡住 ...