Java学习笔记3(面向对象-上)

    科技2022-07-12  144

    目录

    1.对象与对象引用的区别是什么? 2.对象作为参数传递的特点是什么? 3.对象初始化顺序是怎样的? 4.类的static字段与非static字段的区别是什么?什么情况应该使用static修饰符? 5.Java中final修饰符都有什么作用? 6.Java中 float[10] arr; 语句正确吗?为什么? 7.Java数组元素类型为基本数据类型和引用类型时,有什么不同?


    1.对象与对象引用的区别是什么?

    创建对象: new FighterPlane(); (分配在堆上)声明一个对象引用:FighterPlane fp;(分配在栈上)初始化对象引用:fp=new FighterPlane();对象引用像是遥控器,对象像是电视机。从对象引用出发,一个对象引用可以指向一个对象,也可以不指向对象;从对象出发,一个对象可以被一个对象引用引用,也可以被多个对象引用同时引用。

    2.对象作为参数传递的特点是什么?

    方法中的参数可以作为基本数据类型,也可以为对象,它们有不同的特点。基本数据类型作为参数在方法中的传递是值传递。 本程序的输出为0,因为a++是对形式参数进行自增,而不是类属性a进行自增。对象是引用传递,当对象作为参数传递时,传递的是对象的地址。也就是说,对象只有一个。

    3.对象初始化顺序是怎样的?

    1.系统会对数据成员进行默认初始化2.执行数据成员定义外的初始化语句3.调用构造方法为数据成员指定初值

    4类的static字段与非static字段的区别是什么?什么情况应该使用static修饰符?

    用static修饰的域变量不属于任何一个类的具体对象,而专属于类。其特点为:它被保存在类的内存区(堆中)的公共存储单元中,而不是保存在某个对象的内存区中。因此,一个类的任何对象访问它时,存取到的都是相同的数值。访问的方式为“类名.域名”,也可通过对象引用来访问。当一个方法或者变量需要初始化加载,或者是经常被调用的时候可以加上static

    5.Java中final修饰符都有什么作用?

    以final修饰属性,则该属性为常量。 1.修饰属性,则属性为常量; 2.修饰方法,则该方法在子类当中不能被覆盖,可防止任何继承类修改方法,保证了程序的安全性和正确性。 3.修饰类,则该类不能被继承

    6.Java中 float[10] arr; 语句正确吗?为什么?

    不对。 建立一个容量为10的arr数组 可先进行数组声明

    float[] arr;

    再初始化

    arr=new float[10];

    或者直接写

    float[] arr=new float[10];

    若写成

    float[10] arr;

    则系统无法识别该语句并给arr数组分配内存空间。


    7.Java数组元素类型为基本数据类型和引用类型时,有什么不同?

    Processed: 0.009, SQL: 8