本篇文章从以下几个方面介绍JAVA:

1.对象与对象引用的区别

2.对象作为参数传递的特点

3.对象初始化的顺序

4.static与非static的区别

5.final修饰符的作用

6.Java初始化数组语法

7.基本数据类型与引用类型的区别

问题1:

直接通过实例说明。

 public class object{
        object c;
        c=new object();
 }

第二行语句产生了一个object类的声明,但此时并没有产生此类的对象。

第三行语句为声明c赋予了一个对象,此时声明被引用所取代,即c此时为对象引用。

也可以声明后立即赋予对象:object c=new object();

该语句的执行顺序为:先产生对象,之后将对象赋予声明,声明被对象引用所取代。

问题2:

对象作为参数传递,传递的是对象的地址。而基本数据类型作为参数传递,传递的是值传递。

public class PassValue {
private static int a;
     public static void main(String [] args) {
          modify(a);
          System.out.println(a);
     }
     public static void modify(int a) {
        a++;
     }
}

基本数据类型传递为值传递,故a的值依然为0;

class IntClass 
    {
      int value;           
    }
public class RunIntClass 
 {
   public static void modifyValue(IntClass s,int val)
  { 
   s.value = val;
  } 
   public static void main(String args[])
   {
     IntClass  a = new IntClass();     
     modifyValue(a,8);
     System.out.println(a.value);     
   }
}

对象作为参数是地址传递,所以a.value值为8;

问题3:

以 object c=new object();为例

先产生一个对象new object(),然后将对象赋予声明c,声明被对象引用取代。

问题4:

对于static与非static的区别可以理解为:

static方法只能访问该类static属性,不能访问对象中的属性。

但非static方法可以访问static属性或方法。

调用static方法时,可以采用“对象引用.方法名”,也可以采用“类名.方法名”。

问题5:

final可以修饰类,方法,变量
修饰类,终态类,类不能被继承。
修饰方法,方法不能被重写。
修饰变量,此时变量转变为常量

问题6:

数组声明:  int a[] 或 int[] a

初始化:a=new int[数组长度]

或者直接在声明的时候初始化

int[] a={3,4,5,6}

但是要注意,int[] a; a={3,4,5,6}这种写法是错误的。

以下方法也可以定义及初始化

int a[]=new int[] {1,2,3,4};

问题7:

基本数据类型有8种:

整数类型:

int, long, byte, short

浮点数类型:

float, double

字符类型:

char

布尔类型:

boolean

引用数据类型非常多,大致包括:
类、 接口类型、 数组类型、 枚举类型、 注解类型、 字符串型

例如: string类型就是引用类型。

两者存储位置不同:

基本数据类型存储在方法栈中;引用数据类型变量具体内容放在堆中。

如有错误,欢迎批评指正!

版权声明:本文为hzau-xpgao原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/hzau-xpgao/p/HZAU_XPgao.html