day07作业-韩明琰

一.面向对象

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

一,在类中的位置不同:成员变量在类中方法外。局部变量在方法定义中或方法声明上

二,在内存中的位置不同:成员变量在堆内存(成员变量属于对象,对象进堆内存)。局部变量在栈内存(局部变量属于方法,方法进栈内存)

三,生命周期不同:成员变量随着对象的创建而存在,随着对象的消失而消失。局部变量随着方法的调用而存在,随着方法的弹栈而消失

四,初始化值不同:成员变量有默认初始化值。局部变量没有默认初始化值,使用前必须定义,赋值,才能使用

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

匿名对象就是没有名字的对象

应用场景是:只调用一次方法的时候

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

封装是指隐藏对象的属性和实现细节,仅对外提供访问方式

例子:在不同文件中的类不能互相访问,每个文件只写一个类,把类封装起来

          成员变量和成员方法用private关键字修饰,被修饰的成员只能在本类中被直接访问,外界只能通过方法访问,把成员方法和成员变量封装起来,提高了安全性

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

this的作用是在类中通过this访问自身的成员变量和成员方法,成员变量与局部变量重名时,可用this区分

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

创建对象并使用:格式   类名 对象名 = new 类名();

使用成员变量: 类名.变量名

使用成员方法:类名.方法名(...)


========================================================
========================================================

二. 内存图

画图操作:

1.一个对象的内存图

2.两个对象的内存图

3.三个引用两个对象的内存图


========================================================
========================================================

三. 自定义类

Student 类

class Student {
 String name;
 int age;
 String gender;
 public void study() {
  System.out.println("学生在学习");
 }
 public void sleep() {
  System.out.println("学生在睡觉");
 }
}

Phone 类

class Phone {
 String brand;
 int price;
 public void call() {
  System.out.println("打电话");
 }
 public void sendMessage() {
  System.out.println("发信息");
 }
 public void playGame() {
  System.out.println("玩游戏");
 }
}

Car 类

class Car {
 String color;
 int num;
 public void run(){
  System.out.println(color+"的"+num+"个轮子的车再跑");
 }
}

原文地址:https://www.cnblogs.com/hmyhh/p/9337361.html