简单java类开发一般原则:

  1. 类名称必须有意义,再怎么说,要让人家看的明白吧
  2. 类之中所有属性必须使用private封装,并提供setter,getter方法
  3. 类之中可以有多个构造方法,但是必须保留有一个无参数构造方法
  4. 类之中不允许出现任何输出语句,所有输出必须交给被调用处
  5. 类之中需要有一个可以取得对象完整信息的方法,一般叫做getInfo(),返回String型数据
class Book {
private String name;
private int price;
private int num;
public Book() { }
public Book(String na ,int pri, int n) {
name = na;
price = pri;
num = n;
}
public book() { }
public void setName(String n) {
name = n;
}
public void setPrice(int p) {
price = p;
}
public void setNum(int n) {
num = n;
}
public String getName() {
return name;
}
public int getPrice() {
return price;
}
public int getNum() {
return num;
}
public int getMonney(int price, int num) {
return price*num;
}
public String getinfo() {
return "书名:"+name+"\n"+
"单价:"+price+"\n"+
"数量:"+num+"\n";
}
} public class test2 {
public static void main(String args[]) {
Book monney = new Book("老人与海",,);
System.out.println(monney.getinfo());
}
}

一对多关系:

实例1:

省份:

省份ID : NUMBER <pk>

省份名字: VARCHAR(50)

城市:

城市ID  : NUMBER<pk>

省份ID:NUMBER<fk>

城市名称:VARCHAR(50)

要求可以通过一个省份找到所有的城市信息,通过一个城市可以找到它对应的省份信息

//setter,getter,无参构造省略
class Province {
private int pid;
private String pname;
private City city [];
public Province(int pid, String pname) {
this.pid = pid;
this.pname = pname;
}
public String getInfo() {
return "省份ID:"+this.pid+"\n"+
"省份名字"+this.pname;
} public void setCity(City city []) {
this.city = city;
}
public City [] getCity() {
return this.city;
} } class City {
private int cid;
private String cname;
private Province province;
public City(int cid, String cname) {
this.cid = cid;
this.cname = cname;
}
public String getInfo() {
return "城市ID:"+ this.cid+"城市名字:"+this.cname;
}
public void setProvince(Province province) {
this.province = province;
}
public Province getProvince() {
return this.province;
}
} public class test1 {
public static void main(String args[]) {
//设置独立对象
Province p = new Province(1,"重庆");
City c_1 = new City(001,"渝中区");
City c_2 = new City(002,"南岸区");
//设置相关关系
c_1.setProvince(p);//一个城市属于一个省份
c_2.setProvince(p);
p.setCity(new City [] {c_1,c_2});
//获取数据
for (int x=0 ;x<p.getCity().length;x++) {
System.out.println(p.getCity()[x].getInfo());
}
System.out.println(c_1.getProvince().getInfo());
System.out.println(c_2.getProvince().getInfo()); }
}
//输出
城市ID:1城市名字:渝中区
城市ID:2城市名字:南岸区
省份ID:1
省份名字重庆
省份ID:1
省份名字重庆

实例2:

//setter,getter,无参构造省略
class Item {
private int iid;
private String iname;
private String note;
private Subitem subitem []; public Item(int iid, String iname,String note) {
this.iid = iid;
this.iname = iname;
this.note = note;
}
public String getInfo() {
return "类型ID:"+this.iid+"\n"+
"类型名字"+this.iname+"\n"+
"描述"+this.note;
} public void setSubitem (Subitem subitem []) {
this.subitem = subitem;
}
public Subitem [] getSubitem() {
return this.subitem;
}
} class Subitem {
private int subid;
private String subname;
private String note;
private Item item;
private Product product []; public Subitem(int subid, String subname,String note) {
this.subid = subid;
this.subname = subname;
this.note = note;
}
public String getInfo() {
return "子类型ID:" +this.subid+"\n"+
"子类型名字:"+this.subname+"\n"+
"描述"+this.note;
}
public void setItem(Item item) {
this.item = item;
}
public Item getItem() {
return this.item;
}
public void setProduct(Product product []) {
this.product = product;
}
public Product [] getProduct() {
return this.product;
}
} class Product {
private int pid;
private String pname;
private int price;
private Subitem subitem; public Product(int pid, String pname, int price) {
this.pid = pid;
this.pname = pname;
this.price = price;
}
public String getInfo() {
return "商品ID"+this.pid+"\n"+
"商品名称"+this.pname+"\n"+
"价格"+this.price;
}
public void setSubitem(Subitem subitem) {
this.subitem = subitem;
}
public Subitem getSubitem() {
return this.subitem;
}
}
public class test1 {
public static void main(String args[]) {
//设置独立对象
Item i = new Item(,"食品类","吃的"); Subitem sub1 = new Subitem(,"肉类","猪肉");
Subitem sub2= new Subitem(,"蔬菜类","白菜");
Subitem sub3 = new Subitem(,"坚果类","瓜子"); Product p1 = new Product(,"肥肉",);
Product p2= new Product(,"大白菜",);
Product p3 = new Product(,"甜瓜子",); //设置相关关系
sub1.setItem(i);//一个城市属于一个省份
sub2.setItem(i);
sub3.setItem(i);
i.setSubitem(new Subitem [] {sub1,sub2,sub3});
sub1.setProduct(new Product [] {p1});
sub2.setProduct(new Product [] {p2});
sub3.setProduct(new Product [] {p3}); p1.setSubitem(sub1);
p2.setSubitem(sub2);
p3.setSubitem(sub3);
//获取数据
for (int x= ;x<i.getSubitem().length;x++) {
System.out.println(i.getSubitem()[x].getInfo());
}
System.out.println(p3.getSubitem().getItem().getInfo());
}
}

JAVA基础学习之路(四)定义简单java类的更多相关文章

  1. JAVA基础学习之路(八)[1]String类的基本特点

    String类的两种定义方式: 直接赋值 通过构造方法赋值 //直接赋值 public class test2 { public static void main(String args[]) { S ...

  2. JAVA基础学习之路(一)基本概念及运算符

    JAVA基础概念: PATH: path属于操作系统的属性,是系统用来搜寻可执行文件的路径 CALSSPATH: java程序解释类文件时加载文件的路径 注释: 单行注释  // 多行注释 /*... ...

  3. Java基础学习总结(70)——开发Java项目常用的工具汇总

    要想全面了解java开发工具,我们首先需要先了解一下java程序的开发过程,通过这个过程我们能够了解到java开发都需要用到那些工具. 首先我们先了解完整项目开发过程,如图所示: 从上图中我们能看到一 ...

  4. Java基础_0311: 数据表与简单Java类映射

    数据表与简单Java类映射 现在假设有如下的关系表,现在要求实现如下的数据关联操作: 一个部门有多个雇员: 一个雇员有一个或零个领导 代码实现 class Dept { private int dep ...

  5. Java基础学习总结(68)——有关Java线程方面的面试题

    不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题.Java 语言一个重要的特点就是内置了对并发的支持,让 Java 大受企业和程序员的欢迎.大多数待遇丰厚的 Java 开发职位都要求开发者 ...

  6. JAVA基础学习之路(五)数组的定义及使用

    什么是数组:就是一堆相同类型的数据放一堆(一组相关变量的集合) 定义语法: 1.声明并开辟数组 数据类型 数组名[] = new 数据类型[长度]: 2.分布完成 声明数组:数据类型 数组名 [] = ...

  7. JAVA基础学习之路(三)类定义及构造方法

    类的定义及使用 一,类的定义 class Book {//定义一个类 int price;//定义一个属性 int num; public static int getMonney(int price ...

  8. JAVA基础学习之路(七)对象数组的定义及使用

    两种定义方式: 1.动态初始化: 定义并开辟数组:类名称 对象数组名[] = new 类名称[长度] 分布按成:类名称 对象数组名[] = null: 对象数组名 = new 类名称[长度]:   2 ...

  9. JAVA基础学习之路(二)方法定义,重载,递归

    一,方法的定义: package test; public class test1 { public static void main(String args[]) { int result = ad ...

随机推荐

  1. 转-四种方案解决ScrollView嵌套ListView问题

    本人网上用的ID是泡面或安卓泡面,学习一年半之前开始从事Android应用开发,这是我写的第一篇Android技术文章,转载请注明出处和作者,有写的不好的地方还请帮忙指出,谢谢. 在工作中,曾多次碰到 ...

  2. ECS centos6.8系统下从nginx安装到简单网站上线配置操作的完整记录

    1.准备工作 1.1已购买阿里云云服务器ECS 1.2域名已购买并解析成功 1.3安装有远程链接工具Xshell和文件传输工具Xftf,并链接上ECS实例 2.安装nginx(在Xshell操作) 2 ...

  3. 2018 kali linux install tools

    1.VM setup https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html VMware-Wo ...

  4. Jmeter的实例应用

    目标: 获取城市的天气数据: 第一步: 发送request 获取城市的城市代号http://toy1.weather.com.cn/search?cityname=上海 从这个请求的response ...

  5. js如何生成id随机数

    有时候在我们在新增数据时,需要自动生成主键id等,就经常会遇到需要生成随机数的方法. 下面先介绍一种比较简单的生成随机数方法: //产生随机数函数 function RndNum(n){ var rn ...

  6. ethereum(以太坊)(实例)--"安全的远程购买"

    pragma solidity ^0.4.10; contract Safebuy{ uint public price; address public seller; address public ...

  7. mysql 操作表结构

    整理一下对mysql表结构的简单操作,dos窗口模式的,现在基本上都是些图形化操作mysql,像这种命令形式的少了很多,暂时记忆点,以防以后忘记. 从数据库的创建开始: show databases; ...

  8. C语言实现左旋字符串

    #include<stdio.h> #include<stdlib.h> #include<string.h> void left_rotate(char *str ...

  9. Shell环境变量与特殊变量详解

    1)变量类型 1)变量可分为俩类:环境变量(全局变量),和普通变量(局部变量), 环境变量也称为全局变量,可以在创建他们的Shell及其派生出来的任意子进程Shell中使用,环境变量又可以分为自定义环 ...

  10. 北京Uber优步司机奖励政策(2月25日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...