将对象的存储在数组中会报错
public static void main(String[] args) {
ArrayList<Goods> arrayList = new ArrayList<Goods>();
init(arrayList);
int size = arrayList.size();
String[] array = (String[] )arrayList.toArray(new String[size]);
System.out.println(Arrays.toString(array ));
}
// 错误信息
Exception in thread "main" java.lang.ArrayStoreException
04成员变量和局部变量的区别
- 区别一:定义的位置不同
- 定义在类中的变量是成员变量
- 定义在方法中或者{}语句里面的变量是局部变量
- 区别二:在内存中的位置不同
- 成员变量存储在对内存的对象中
- 局部变量存储在栈内存的方法中
- 区别三:声明周期不同
- 成员变量随着对象的出现而出现在堆中,随着对象的消失而从堆中消失
- 局部变量随着方法的运行而出现在栈中,随着方法的弹栈而消失
- 区别四:初始化不同
- 成员变量因为在堆内存中,所有默认的初始化值
- 局部变量没有默认的初始化值,必须手动的给其赋值才可以使用。
接口的定义
-
A: 接口的定义
与定于类的class 不同, 接口定义时需要使用interface 关键字 -
B :定义的格式
public interface 接口名 { 抽象方法1; 抽象方法2; }
类的构造方法
-
累的构造方法
public class Person { private int age; private String name; // 私有無參數的構造方法, 及外界不能通過new Person() 語句創建本類對象 private Person() { } Person(int newAge , String newName ) { age = newAge; name = newName; } public void speak() { System.out.println("name =" + name + ", age = " + age ); } }
final修饰类不可以被继承,但是可以继承其他类。
class Yy {}
final class Fu extends Yy{} //可以继承Yy类
class Zi extends Fu{} //不能继承Fu类