zoukankan      html  css  js  c++  java
  • 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类
    
    欢迎各位大虾指正
  • 相关阅读:
    Authentication with SignalR and OAuth Bearer Token
    [Web API] 如何让 Web API 统一回传格式以及例外处理[转]
    EF6 Database First (DbContext)
    DbContext运行时动态附加上一个dbset
    命令模式
    责任链模式
    策略模式
    Sql Server isnull() 用法
    状态者模式
    dom元素改变监听
  • 原文地址:https://www.cnblogs.com/he-zhi/p/8760361.html
Copyright © 2011-2022 走看看