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】824. Goat Latin 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode.c ...

  2. [决策树]西瓜数据graphviz可视化实现

    [决策树]西瓜数据graphviz可视化实现 一.问题描述: 使用西瓜数据集构建决策树,并将构建的决策树进行可视化操作. 二.问题简析: 首先我们简单的介绍一下什么是决策树.决策树是广泛用于分类和回归 ...

  3. IT6516替代方案|CS5212替代IT6516|CapstoneCS5212

    IT6516/IT6516BFN:是一款DP显示端口转VGA转换器的嵌入式MCU单片机. IT6516/IT6516BFN结合DisplayPort接收器和三重DAC,通过转换功能支持DisplayP ...

  4. <数据结构>XDOJ316.多点测试的写法

    问题与解答 问题描述 有一棵无限大的完全二叉树,该二叉树自上而下.自左而右从1开始编号.从某一个结点到根结点(编号是1的结点)都有一条唯一的路径,比如从5到根结点的路径是(5, 2, 1),从4到根结 ...

  5. 论文翻译:2020_Generative Adversarial Network based Acoustic Echo Cancellation

    论文地址:http://www.interspeech2020.org/uploadfile/pdf/Thu-1-10-5.pdf 基于GAN的回声消除 摘要 生成对抗网络(GANs)已成为语音增强( ...

  6. 牛掰,在IDEA中,你可以安装小傅哥写的插件了!

    作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.承认你优秀很难 很多码农,把路走窄了 捧一个,喷一个,很多码农都不会多一点思路看问题,总是 ...

  7. x86-2-保护模式

    x86-2-保护模式 操作系统负责计算机上的所有软件和硬件的管理,它可以百分百操作计算机的所有内容.但是,操作系统上编写的用户程序却应当有所限制,只允许用户程序访问属于自己程序的内容,不然整个生态就很 ...

  8. Storm集群安装Version1.0.1

    Storm集群安装,基于版本1.0.1, 使用apache-storm-1.0.1.tar.gz安装包. 1.安装规划 角色规划 IP/机器名 安装软件 运行进程 nimbus zdh-237 sto ...

  9. Springboot+Javamail实现邮件发送

    Springboot+Javamail实现邮件发送 使用的是spring-context-support-5.2.6.RELEASE.jar里的javamail javamail 官方文档:javam ...

  10. 初识python: 继承实例 - 学校、老师、学生

    对学校.老师.学生做一个分类,并抽象成类.并实现各自的一些功能.代码如下: 父类1:学校 # 学校 class School(object): def __init__(self,name,addr) ...