第四季1.Java中的泛型

复习笔记
[第四季]1.Java中的泛型
1.没有使用泛型的时候,需要强制转换,还有警告
①new一个LinkedList()并存放到myList事例中.
②用add方法添加100到myList中.
③用get(i)方法获取第0号元素,并强制转换为int并存放到int x中.
④打印x看看结果.
2.确定类型,没有警告
①new一个LinkedList,并制定类型为Integer,存放在myList2中.
②同样的,用add方法添加100到myList2中.
③用get()方法取出刚才的元素,并存放到int x2中.
④打印看看结果.
3.范类
①做了一个范类,首先定义范类.T var.
②做个setter,设置this.var=var.
③做个getter,return var.
④做个print方法.
⑤回到main里new一个范类.设置范类参数为”张”.
⑥然后用.print方法打印看看结果.
4.Person
①创建一个class Person.
②里面设置name和age参数.
③设置构造函数Person,并在构造函数中设置两个参数.
④从谢toString方法,返回name和age里面的参数.
⑤回到main,new一个myTest().
⑥new一个Person,里面设置参数为”jack”,20.
⑦调用setter方法设置,范类为Person,并调用.print方法进行打印.

package javastudy;

import java.util.LinkedList;
import java.util.List;

public class Test 
{

    public static void main(String[] args) 
    {
        //****************第1步****************
        System.out.println("============没有使用泛型的时候,需要强制转换,还有警告=============");
        List myList=new LinkedList();
        myList.add(100);
        int x=(int)myList.get(0);
        System.out.println(x);
        //****************第2步****************
        System.out.println("======确定类型,没有警告===================");
        List<Integer> myList2=new LinkedList<Integer>();

        myList2.add(100);
        int x2=myList2.get(0);
        System.out.println(x);

        //****************第3.1步****************
        System.out.println("======范类===================");
        MyTest<String> mt=new MyTest<String>();
        mt.setVar("张");
        mt.print();


        //****************第4.1步****************
        System.out.println("============MyTest<Person>=============");
        MyTest<Person> mt2=new MyTest<Person>();
        Person p=new Person("jack", 20);
        mt2.setVar(p);
        mt2.print();
    }
}
//****************第3步****************

class MyTest<T>
{
    T var;
    //****************做一个Setter****************
    void setVar(T var)
    {
        this.var=var;
    }

    T getVar()
    {
        return var;
    }
    void print()
    {
        System.out.println(var);
    }
}

//****************第4步****************
class Person
{
    String name;
    int age;

    Person(String name,int age)
    {
        this.name=name;
        this.age=age;
    }
    //****************第4.1步重写toString方法****************
    @Override
    public String toString() 
    {
        return "name="+name+",age="+age;
    }
}


//小结
//定义只能是应用类,不能是简单累
//要传的话只能是传integer这样的包装类
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值