<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">java编程思想一直是程序员比较害怕阅读并且很难懂的一本“高端”书籍,最近项目不太紧,给自己规定每天看三小节,并将自己理解的知识和课后习题依照自己的</span>
理解给予答案,纯属学习,工作刚半年,有太多东西需要积累,技术上的和非技术上的,希望在互联网做一个“不是程序员的”程序员,多的不扯,进入正题:
(一).泛型---元组类库
如果需要一个类包含很多中不同类型的对象,可以用元组,直接将一组对象(可以是不同类型)打包进一个单一对象(泛型对象),为了创建不同长度的元组,我们需要
创建多个元组,我们可以采用继承的思想来解析元组
第一个元组,代码如下:
package com;
class Automobile{};
class cx<A,B>{
public final A a;
public final B b;
protected cx(A a,B b)
{
this.a=a;
this.b=b;
}
public A getA() {
return a;
}
public B getB() {
return b;
}
public String toString()
{
return "("+a+","+b+")";
}
}
class cx_a<A,B,C> extends cx<A,B>
{
public final C c;
public C getC() {
return c;
}
public cx_a(A a, B b,C c) {
super(a, b);
this.c=c;
// TODO Auto-generated constructor stub
}
public String toString()
{
return "("+a+","+b+","+c+")";
}
}
class cx_b<A,B,C,D> extends cx_a<A,B,C>
{
public final D d;
public cx_b(A a,B b,C c,D d)
{
super(a,b,c);
this.d=d;
}
public D getD() {
return d;
}
public String toString()
{
return "("+a+","+b+","+c+","+d+")";
}
}
public class test<A,B,C,D,E> extends cx_b<A,B,C,D>
{
private final E e;
public test(A a,B b,C c,D d,E e)
{
super(a,b,c,d);
this.e=e;
}
public E getE() {
return e;
}
public String toString()
{
return "("+a+","+b+","+c+","+d+","+e+")";
}
public static void main(String[] args) {
test<String,Integer,String,String,Long> temp=new test<String,Integer,String,String,Long>("a",3,"b","c",(long) 345);
System.out.println(temp.toString());
}
}
注意,如果想要不同的元组长度,可以采用继承的形式,继承的子类如果想要继承父类的功能或者元素,可以用super,我这里使用final是出于安全考虑,外部类不能随意修改
父类对象的成员。