简单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. 【题解】洛谷P4180 [BJWC2010] 严格次小生成树(最小生成树+倍增求LCA)

    洛谷P4180:https://www.luogu.org/problemnew/show/P4180 前言 这可以说是本蒟蒻打过最长的代码了 思路 先求出此图中的最小生成树 权值为tot 我们称这棵 ...

  2. iOS8以后UIAlertView和UIActionSheet两种alert页面都将通过UIAlertController来创建

    1. Important: UIAlertView is deprecated in iOS 8. (Note that UIAlertViewDelegate is also deprecated. ...

  3. Oracle 创建触发器实现自增长

    Oracle中没有主键,要实现自增长,需要创建触发器,每次插入数据的时候进行ID赋值. 环境:Oracle11,Navicat工具连接 创建了一个表,字段如下(字段名,表名都需要大写,你小写了还无效. ...

  4. Notes 20180306 : 变量与常量

    1.1 变量与常量 我们在开发中会经常听到常量和变量,那么常量和变量指的又是什么呢?顾名思义,在程序执行过程中,其值不能被改变的量称为常量,其值能被改变的量称为变量.变量与常量的命名都必须使用合法的标 ...

  5. 网站程序application, session, cookie区别的一点小总结

    cookie:是存放于本地的文件,可以设置期限,一般来讲是比较小文本或键值对等,主要用于记录用户浏览信息,账号密码等等.可以让人们的登录变得方便,因为有了cookie,在一段时间内就可以自动登录以前所 ...

  6. C++读取字符串数据的两种方式

    C++读取字符串数据的两种方式 对于同样的样例输入: ladder came tape soon leader acme RIDE lone Dreis peat ScAlE orb eye Ride ...

  7. hdu_4135_Co-prime

    Given a number N, you are asked to count the number of integers between A and B inclusive which are ...

  8. 在java程序中使用JDBC连接mysql数据库

    在java程序中我们时常会用到数据库中的数据或操作数据库中的数据,如果java程序没有和我们得数据库连接,就不能实现在java程序中直接操作数据库.使用jdbc就能将java程序和数据库连起来,此时我 ...

  9. 笔记: js构造函数与原型

    目录 构造函数与原型介绍 涉及三种引用的操作 有关原型及原型链的一些相关方法总结 @ 构造函数与原型介绍 1.函数与函数的原型对象(prototype object): 在JavaScript中,创建 ...

  10. 用Python代码实现微信跳一跳作弊器

    最近随着微信版本的更新,在进入界面有个跳一跳的小游戏,在网上看到技术篇教你用Python来玩微信跳一跳 ( 转载自 " 工科给事中的技术博客 " ) 本文旨在总结,技术全靠大神完成 ...