08

一.面向对象

1:局部变量和成员变量的区别?

(1)    在类中的的位置不同

成员变量:在类中方法外     局部变量在方法定义中或在方法声明上

(2)    在内存中的位置不同

成员变量在堆内存,局部变量在栈内存。

(3)    生命周期不同

成员变量随对象的创建而存在,随对象的消失而消失。

局部变量随方法的调用而存在,随方法的结束而消失。

(4)    初始化值不同

成员变量有默认的初始化值。

局部变量没有默认的初始化值,使用前必须定义,赋值后才可用。

2:匿名对象是什么?应用场景是什么?

没有名字的对象。

应用场景:(1)调用方法,仅仅只调用一次的时候。

          (2)匿名对象可以作为实际参数传递。

3:封装是什么?java中封装的体现有哪些?请举例说明。

封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。对类中属性封装,通过getXxx();和setXxx();调用。

4:this关键字是什么?this关键字的应用场景?

this强调调用的是本类中的方法,也可以表示当前对象,也可以表示类中的属性。

5:如何使用一个类的成员

对象名.变量名  

二、内存图

一个对象的内存图

两个对象的内存图

三个引用两个对象的内存图:

三. 自定义类

Student 类

class Demo9

{

       public static void main(String[] args)

       {

              Student stu = new Student();

              stu.name = "张三";

              stu.setAge(30);

              stu.tell();

             

       }

}

class Student{

       public String name;

       private int age;

       public void tell(){

              System.out.println("姓名:"+name+"  年龄:"+getAge());

       }

       public void setAge(int a){

              age = a;

       }

       public int getAge(){

              return age;

       }

}

Phone 类,Car类类似。

原文地址:https://www.cnblogs.com/songzongyuan-java/p/9295308.html