zoukankan      html  css  js  c++  java
  • 泛型

    public class Temp {
    
        public static void main(String[] args) {
            
            
            //
            Mystack ms=new Mystack();
            ms.push("a");
            ms.push("b");
            ms.push("c");
            ms.push("d");
            ms.push("e");
            for (int i = 0; i < 5; i++) {
                System.out.println(ms.prop());
            }
            
            /**
             * 泛型
             * 泛型类 泛型接口 泛型方法 泛型的属性
             * 泛型的属性  属性的数据类型由调用方来决定当前数据类型
             * Integer是int数据类型的封装类
             * Character是char类型的封装类
             * 必定只能是类 而不是基础数据类型的关键字
             * 方便扩展
             */
            Person<String, Integer, Character> p=new Person<>();
            p.setPname("张三");
            p.setPage(18);
            p.setPsex('');
            
            //泛型的方法
            PersonWethod<String> pm=new PersonWethod<>();
            pm.getValue("张三");
            
            //引用类型 可以new
            //装箱 值类型 到引用类型
            int i=10;
            Object object=i;
            System.out.println(object);
            
            //拆箱 应用类型 到值类型
            Object o=10;
            int j=(int)o;
            System.out.println(j);
        }
    }
    import java.util.ArrayList;
    import java.util.LinkedList;
    
    public class Mystack {
    
    //    ArrayList arr=new ArrayList();
    //    public void push(Object object) {
    //        arr.add(0, "e");
    //    }
    //
    //    public Object prop() {
    //        //取第一个元素
    //        Object o=arr.get(0);
    //        arr.remove(0);
    //        return o;
    //    }
        
        LinkedList arr=new LinkedList();
        public void push(Object object) {
            arr.addFirst(object);
        }
        public Object prop() {
            Object o=arr.getFirst();
            arr.removeFirst();
            return o;
        }
    }
    import java.util.List;
    
    public interface IBaseFace<E> {
    
        /**
         * 增加的公共方法
         * @param elenment
         * @return
         */
        public int addObject(E elenment);
        
        /**
         * 编辑
         * @param elenment
         * @return
         */
        public int editObject(E elenment);
        
        /**
         * 删除
         * @param elenment
         * @return
         */
        public int removeObject(E elenment);
        
    
        /**
         * 查询单个对象的方法
         * @param elenment
         * @return
         */
        public E queryObject(E elenment);
        
    
        /**
         * 查询多个对象的方法
         * @param elenment
         * @return
         */
        public List<E> queryObjects(E elenment);
        
        
        /**
         * 查询并分页
         * @param elenment
         * @return
         */
        public List<E> queryObjectPage(E elenment);
    
        
    }
    public interface IPersonFace extends IBaseFace<Person<String,Integer,String>>{
    
        public boolean queryUser(String uname);
    }
    public class Person<A,B,C> {
    
        private A pname;
        private B page;
        private C psex;
        public A getPname() {
            return pname;
        }
        public void setPname(A pname) {
            this.pname = pname;
        }
        public B getPage() {
            return page;
        }
        public void setPage(B page) {
            this.page = page;
        }
        public C getPsex() {
            return psex;
        }
        public void setPsex(C psex) {
            this.psex = psex;
        }
        
    }
    import java.util.List;
    
    public class PersonImpl implements IPersonFace{
    
        @Override
        public int addObject(Person<String, Integer, String> elenment) {
            // TODO Auto-generated method stub
            return 0;
        }
    
        @Override
        public int editObject(Person<String, Integer, String> elenment) {
            // TODO Auto-generated method stub
            return 0;
        }
    
        @Override
        public int removeObject(Person<String, Integer, String> elenment) {
            // TODO Auto-generated method stub
            return 0;
        }
    
        @Override
        public Person<String, Integer, String> queryObject(Person<String, Integer, String> elenment) {
            // TODO Auto-generated method stub
            return null;
        }
    
        @Override
        public List<Person<String, Integer, String>> queryObjects(Person<String, Integer, String> elenment) {
            // TODO Auto-generated method stub
            return null;
        }
    
        @Override
        public List<Person<String, Integer, String>> queryObjectPage(Person<String, Integer, String> elenment) {
            // TODO Auto-generated method stub
            return null;
        }
    
        @Override
        public boolean queryUser(String uname) {
            // TODO Auto-generated method stub
            return false;
        }
    
    }
    public class PersonWethod <E>{
    
    
        public E getValue(E elenment) {
            if(elenment!=null) {
                return elenment;
            }
            return null;
        }
    }
  • 相关阅读:
    ValueError: max() arg is an empty sequence
    链接到镜像
    SparkStreaming+Kafka
    软件质量六大属性—
    架构之美3
    架构之美2
    架构之美-读书笔记之一
    机器学习四正则化(Regularization)
    机器学习三--各种差
    机器学习系列(二)——回归模型
  • 原文地址:https://www.cnblogs.com/huxiaocong/p/10898841.html
Copyright © 2011-2022 走看看