java 成员变量和局部变量的区别

将对象的存储在数组中会报错

    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类
欢迎各位大虾指正
原文地址:https://www.cnblogs.com/he-zhi/p/8760361.html