今天在用到static方法的时候.想要用泛型.结果不能通过编译. 上网查了一下.其具体写法如下:…
之前只是知道在 Java 中不能创建泛型数组,今天翻看 <Effective Java>其中对这个部分有讲解,记录一下. 现在我们假设在 Java 中可以创建泛型数组,看看可能会发生什么情况: // 假设可以创建泛型数组 List<String>[] stringLists = new ArrayList<String>[1]; List<Integer> intList = Arrays.asList(42); // 泛型擦除,List 继承自 Objec…
public void 修饰是非静态方法,该类方法属于对象,在对象初始化(new Object())后才能被调用:public static void 修饰是静态方法,属于类,使用类名.方法名直接调用. 正如答主 @小透明 所说,非静态方法之间可以互相调用,非静态方法也可以调用静态方法:但是静态方法不可以直接调用(未初始化的)非静态方法.由于 public static void main 作静态方法,所以遵循这个原则. 但是 Java 可以通过对象名调用静态方法(对象名.静态方法).Java…
static 方法可以被main方法直接调用,而非static方法不可以.因为static方法是属于类的,是类方法.可以通过类名.方法名直接调用.而非static方法必须等对象被new出来以后才能使用,因而不能在main中直接调用. public void 修饰是非静态方法,该类方法属于对象,在对象初始化(new Object())后才能被调用:public static void 修饰是静态方法,属于类,使用类名.方法名直接调用. Java 可以通过对象名调用静态方法(对象名.静态方法).Ja…
1.关键字可以修饰的说明: 关键字 属性(是否可修饰) 方法(是否可修饰) 类(是否可修饰) static 是 是 是 final 是 是 是 abstract 否 是 是 2.关键字的意义: 关键字 意义 具体特性说明 被继承的话,会有什么后果? static 表示属于该类. 1. 修饰变量:属于该类2. 修饰方法:子类可覆盖为static,但不可覆盖为非static.3. 修饰类:属于该类 见下面详细的补充说明 final 表示一旦赋值不能改变. 1. 修饰变量:一旦赋值不能改变:2. 修饰…
import java.util.ArrayList;/* * 泛型 : java jdk1.5新特性. * 泛型的好处 : * 1.将运行时的错诶提前到编译时. * 2.避免无谓的强制类型转换. * * 自定义方法泛型: 自定义泛型就是一个数据类型的占位或一个数据类型变量, 一般T type或E element来做这个占位的符号 * 占位符号是可以随意写,必须要遵守标识符的命名规范. * 方法泛型的格式 : * <占位符> T: 定义了一个泛型 * * 如果你传进去的是基本数据类型 :接收的…
/*第一种:将事件的处理委托给其他对象,下面的例子是委托给了MyListener(implements ActionListener)*/ 1 import java.applet.Applet; import java.awt.event.*; import java.awt.*; public class ChangeColor extends Applet{//Applet的默认布局为FlowLayout方式 Color myColor; String str; Button btn; L…
静态方法是使用公共内存空间的,就是说所有对象都可以直接引用,不需要创建对象再使用该方法. 例如,我创建一个类,里面有一个静态方法: class Test{ public static int z(int xx,int yy){ return xx+yy; } public int zz(int xx,int yy){ return xx+yy; } } 然后在含有main方法的类中使用这个类时,对与以上非静态和静态方法的引用方式是不同的,如下: import Test; public class…
package extend; public class X { Y y=new Y(); static{  System.out.println("tttt"); } X(){  System.out.println("X"); }  public static void main(String[] args) {    new Z(); }} class Y{ Y(){  System.out.println("Y"); }} class Z…
当一个方法或者变量需要初始化加载,或者是经常被调用的时候可以加上static.用static修饰的方法可以用类名直接调用,不用的一定要先实例化一个对象然后才可以调用比如 person这个类里面有一个方法public static add(){}那么可以直接用person类调用 person.add();当然也可以用下面的方法先出一个对象在调用也是可以如果这个方法前面没有static 比如 public add(){}那么先要person p=new person();然后用p.add();类加载…