栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java常见代码结构(简单Java类、关联数据库表、链表)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java常见代码结构(简单Java类、关联数据库表、链表)

Java常见代码结构

Java基础结构

1、简单Java类2、与数据表关联类3、内外部类

Java基础结构

这是Java基础的代码结构,包含:简单Java类、与数据表关联类、内外部类(链表)

1、简单Java类

简单Java类包括:属性、构造方法、setter和getter方法、功能方法
下面是简单Java类的例子:

public class Person {
	//属性
    private int id;
    private String name;
    
    //构造方法
    public Person(){}  // 构造的空参方法
    public Person(int nid, String nname){
        id = nid;
        name = nname;
    }
    
    //setter和getter方法
    public void setId(int n){
        id = n;
    }
    public void setName(String a){
        name = a;
    }
    public int getId(){
        return id;
    }
    public String getName(){
        return name;
    }
    
    //功能方法
    //输出到调用方法
    public  String getInfo(){
        return "雇员信息:" + "n" + "雇员id:" + id + "n" + "雇员姓名:" + name + "n" ;
    }
}
public class Main{
	public static void main(String Args[]){
		Person per = new Person(001, "张三");
		System.out.println(per.getInfo());
	}
}
2、与数据表关联类

简要格式如下

类1{
 普通属性
  本类属性
  其他类属性
构造方法
类方法(get(包括其他类)、set包括其他类)、功能、输出)
}
类2{
 普通属性
  本类属性
  其他类属性
构造方法
类方法(get(包括其他类)、set包括其他类)、功能、输出)
}
主类{
  主方法{
      初始化对象1;
      初始化对象2;
      关联对象1;
      关联对象2;
   }
}

例子如下:
JAVA设置类之间的关联 => 类似数据库的表之间的关联
要求:
①一个人有一辆车,一辆车属于一个人
②一个人还有个孩子,孩子有一辆车,车属于孩子

class Member{
	private int mid;
	private String name;
	private Car car;		//自定义类Car ,未初始化,里面全是垃圾数据
	private Member child;//在类中定义一个该类的对象,未初始化
	
	public Member(int mid, String name){
		this.mid = mid;
		this.name = name;
	}
	public  String getMemberInfo(){
		return "人员编号:" + this.mid + ",姓名:" + this.name;
	}
	
	//可以查看修改其他类中的信息
	public void setCar(Car car){
		this.car = car;
	} 
	public Car getCar(){
		return this.car;
	}
	
	public void setChild(Member child){
		this.child = child;
	}
	
	public Member getChildInfo(){
		return this.child;
	}
}

class Car{
	private String title;
	private String color;
	private Member member;
	public Car(String title, String color){
		this.title = title;
		this.color = color;
	}
	public String getCarInfo(){
		return "汽车名字:" + this.title + ",颜色:" + this.color;
	}
	public void setMember(Member member){
		this.member = member;
	}
	public Member getMember(){
		return this.member;
	}
}

public class CarPerson{
	public static void main(String args[]){
		Member mem = new Member(40, "张三"); //新建人的对象
		Car car = new Car("BMW", "红色");    //新建车的对象
		mem.setCar(car); 									//一个人有一辆车
		car.setMember(mem); 								//一辆车属于一个人
		System.out.println(mem.getMemberInfo());            //输出:mem人信息
		System.out.println(mem.getCar().getCarInfo());      //输出:mem对应的车信息
		System.out.println("=======================");
		System.out.println(car.getMember().getMemberInfo());//输出:车对应人的信息
		System.out.println("=======================");
		
		Member chd = new Member(10, "小小");         //新建孩子对象
		Car ccar = new Car("aodi", "红色");          //新建车对象
		chd.setCar(ccar);						//孩子拥有车
		ccar.setMember(chd);					//车属于孩子
		mem.setChild(chd);
		
		System.out.println(mem.getChildInfo().getMemberInfo());      //人的孩子的信息
		System.out.println(mem.getChildInfo().getCar().getCarInfo());//人的孩子的车的信息
	}
}
3、内外部类

问:为什么要引用内外部类?

使用内外部类(链表)
外部类Node{
 普通属性
  本类属性
  其他类属性
构造方法
类方法(get(包括其他类)、set包括其他类)、功能、输出)
     内部类link{
           普通属性
           本类属性
           其他类属性
           构造方法
           类方法(get(包括其他类)、set包括其他类)、功能、输出)
     }
}

内外部类(链表)如下:

class linkNode{
//使用内部类最大的好处是可以和外部类进行私有操作的互相访问
		//内部类Node
		private class Node{
			private String data;
			private Node next;
			//构造方法
			public Node(String data){
				this.data = data;
		}
		
		//方法:增加节点
		public void addNode(Node newNode){
			if(this.next == null){
						//System.out.println("count = "+ count);
				this.next = newNode;
				    //count++;
			}else{
				this.next.addNode(newNode);
				
			}
		}
		//方法:输出
		public void print(){
			while(this.next != null){
				System.out.println("data = " + this.data);
			}
		}
		//方法:查询
		public boolean containsNode(String data){
			if(data.equals(this.data)){
				return true;
			}else{
				if(this.next != null){
					return this.next.containsNode(data);
				}else{
					return false;
				}
			}
		}
		//方法:删除非根节点
		//传入两个参数,一个是上一个节点,另一个是删除的数据
		public void removeNode(Node previous, String data){
			if(this.data.equals(data)){
				previous.next =this.next;
			}else{
				this.next.removeNode(this, data);
				//removeNode(this.next, data);
			}
		}
		//方法:将链表数据放到数组中输出,递归(代替指针)放入
		public void toArraryNode(){
			linkNode.this.reData[linkNode.this.foot ++] = this.data;
			if(this.next != null){
				this.next.toArraryNode();
			}
		}
	}
	
//外部类:linkNode

	private Node root; //根节点,第一个元素
	private int count; //统计个数
	private int foot; //输出节点个数角标
	private String []reData; //输出节点数组
	
	//方法:增加一个节点
	public boolean  add(String data){
		if(data == null){
			return false;
		}
		Node newNode = new Node(data);
		if(this.root == null){
			this.root = newNode;
		}else{
			this.root.addNode(newNode);
		}
		this.count++;
		return true;
	}
	//方法:添加多个节点(方法重载)
	public boolean add(String []data){
		for(int x=0; x
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/759720.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号