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】905. Sort Array By Parity 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述: 题目大意 解题方法 自定义sorted函数的cmp 日期 题目地址:h ...

  2. 「算法笔记」Polya 定理

    一.前置概念 接下来的这些定义摘自 置换群 - OI Wiki. 1. 群 若集合 \(s\neq \varnothing\) 和 \(S\) 上的运算 \(\cdot\) 构成的代数结构 \((S, ...

  3. CS5265替代LT8711设计TYPEC转HDMI 4K高清投屏方案|LT8711龙迅替代方案

    龙迅LT8711是一款Type-C/DP1.2 to HDMI2.0方案芯片.LT8711HE是一款高性能Type-C/DP1.2至HDMI2.0转换器,设计用于将USB typec或DP1.2源连接 ...

  4. CS5265完美替代CH7211|Type-C转HDMI2.0单转方案|CH7211替代方案

    龙迅Chrontel的CH7211是一款Type-C转HDMI2.0半导体设备,可通过USB Type-C连接器将DisplayPort信号转换为HDMI/DVI.这款创新的基于USB Type-C的 ...

  5. 编写Java程序,实现从控制台输入对应个数的整数,输出对输入整数的从大到小显示

    编写Java程序,实现从控制台输入对应个数的整数,输出对输入整数的从大到小显示 效果如下: 实现代码: import java.util.Arrays; import java.util.Scanne ...

  6. JUC之多线程锁问题

    多线程锁 8种问题锁状态: 该部分全部围绕的是以下内容并结合相应的例子:synchronized实现同步的基础:Java中每个对象都可以作为锁. 具体表现为以下三种形式:(之前只是简单的了解) 对于普 ...

  7. mysql语句2-单表查询

    mysql 查询以及多表查询 以下所有表格样例都采用下边这个表格 mysql> select * from benet; +------+------+----------+ | id   | ...

  8. CentOS7中安装pip的方法

    1.安装epel-release [root@localhost ~]# yum -y install epel-release 2.安装python-pip [root@localhost ~]# ...

  9. 详谈 Java工厂 ---工厂方法模式

    1.前言 有个场景,消费者需要付钱,有可能是使用支付宝.微信.银行卡,那么该怎么选择呢? 是不是想到了使用用if else判断?还是使用switch? 一个地方这样写还好,如果有很多这样的业务,难道都 ...

  10. 日志收集系统系列(四)之LogAgent优化

    实现功能 logagent根据etcd的配置创建多个tailtask logagent实现watch新配置 logagent实现新增收集任务 logagent删除新配置中没有的那个任务 logagen ...