十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这个估计是不可能的,因为这个关系到精度的问题,比如说你传入的参数里面包含了整型和浮点型,那这样精度怎么算?还有,整型和浮点型都满足返回条件,那最后你是要返回整型还是浮点型?如果要求这些类型的平均值,那还是老老实实的用方法重载吧,反正最多也就三个方法。
公司主营业务:成都做网站、网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联公司推出霍城免费做网站回馈大家。
public static public static int avg(int[] array) {}
public static public static float avg(float[] array) {}
public static public static double avg(double[] array) {}
编译java application源程序文件将产生相应的字节码文件,这些字节码文件别的扩展名为.java
执行一个java程序fristapp的方法是运行java fristapp
main()方法的返回类型是void
在java代码中,public static void main方法的参数描述正确的是string args【】,string【】args
//方法中声明泛型
static E E test6(E e){
return e;
}
static void test5(Holder? super String h){//声明的类型是String或者它的父类型
//类型的下边界 可以放入String类型
h.setData("fff");
Object o=h.getData();
}
static void test4(Holder? extends Number h){//某个未知特定类型,必需是Number的子类型
//类型的上边界
//可以接手Number及其子类型
//不能放,可以取,取出的是特定的上边界类型
Number n=h.getData();
}
//?表示某种特定未知类型
static void test3(Holder? h) {//限制不能放任何数据,除null
Object date=h.getData();//不能放,可以取,取出为Object类型
}
static void test2() {
//如果不声明类型参数 ,默认是Object类型
Holder h=new Holder("");
h.setData(Integer.valueOf(2));
h.setData(new Date());
Object o=h.getData();
HolderString h1=new HolderString("");
String s=h1.getData();
//类型的擦除*********************************************
h=h1;//改为Object类型 h是Holder类型 元素即Object
h.setData(Integer.valueOf(5));//可以
System.out.println(h.getData());
//s=h1.getData();//不可以,s为String h1.getData()Object
System.out.println(s);
}
static void test1() {
//泛型:创建对象时指定类型
ArrayListString al=new ArrayListString();
al.add("abc");//al.add(1);报错,指定了类型
String s=al.get(0);//无需强制转型 不指定类型,al.get(i)是一个Object类型
IteratorString ir=al.iterator();//********************************
while(ir.hasNext()){
String s2=ir.next();
}
MapInteger,String map=new HashMapInteger,String();
map.put(2, "abc");//map.put("","") 会报错
String s2=map.get(2);
SetEntryInteger,String set=map.entrySet();//***********************
IteratorEntryInteger,String ir1=set.iterator();
while(ir1.hasNext()){
EntryInteger,String e=ir1.next();
System.out.print(e.getKey()+"-");
System.out.println(e.getValue());
}
}
//是这样吗?
public class FTestDraw {
public static void main(String[] args) {
DrawMethodShape dm = new DrawMethodShape(new Circle());
dm.shape.draw();
}
}
abstract class Shape{
abstract void draw();
}
class Circle extends Shape{
@Override
void draw() {
System.out.println("这是圆形");
}
}
class Rectangle extends Shape{
@Override
void draw(){
System.out.println("这是长方形");
}
}
class Triangle extends Shape{
@Override
void draw(){
System.out.println("这是三角形");
}
}
class DrawMethodT extends Shape{
T shape = null;
public DrawMethod(T tt){
shape = tt;
}
}
改动了一下:
public class out {
public static void main(String[] args) {
out.inString ge1 = new out().new inString();
//以下为测试代码
ge1.obj = "Hello";
System.out.println(ge1.obj);
}
class inT {
private T obj;
}
}
定义内部类实例时,用外部类名作限制。
外部类可以访问内部类的私有成员。
这个我用intellj运行的时候报错了,按道理来说应该是报错的才对。以下可能性是我猜的:
你generic了一个T,告诉Java这个class可以给任何形式的variable用,然后你声明了object stu里面的T是一个string,但是输入1 。所以Java就吧1换算成二进制以后把它强行改为object String再输入进去,因为你没有实际调用这个T,所以Java就假设这个东西是没毛病的。