一.面向对象
1:局部变量和成员变量的区别? 局部变量:写在方法内或者方法上的变量叫局部变量 成员变量:写在方法外的变量叫成员变量 区别:1.在类中的位置不同.局部变量在方法上或方法内,而成员变量在类内方法外 2.存储地址不同.成员变量属于对象,存在于堆中.局部变量属于方法,存在于栈中. 3.生命周期不同.成员变量随着对象的创建而存在,随着对象的消失而消失.局部变量随着方法的创建而存在,随着方法的出栈而消失 4.初始化值不同.成员变量在堆中,有默认初始化值.而局部变量在栈中,必须给它赋值,才能调用,否则会报错2:匿名对象是什么?应用场景是什么?匿名对象就是在创建一个对象时不取名字,直接new一个对象应用场景主要是一次性调用对象的方法原因:调用对象的变量没有意义,多次调用方法会产生很多垃圾,所以最好只调用一次方法3:封装是什么?java中封装的体现有哪些?请举例说明。
封装是指隐藏对象的属性和实现细节,只对外提供公共访问方式Java中的封装,用关键字private 包是一种封装,不同的包之间不能相互访问
4:this关键字是什么?this关键字的应用场景?
5:如何使用一个类的成员
根据这个类 创建一个对象,那么这个类中的成员变量和成员方法都可以被对象使用也可以将类当作一个参数,在方法中引用这个类========================================================
========================================================二. 内存图
画图操作:
1.一个对象的内存图
2.两个对象的内存图
3.三个引用两个对象的内存图
================================================================================================================三. 自定义类
Student 类
class Demo1_Student { public static void main(String[] args) { Student stu = new Student(); stu.name = "张三"; stu.age = 23; stu.gender = "男"; //调用属性并赋值 System.out.println(stu.name + " " + stu.age +" "+ stu.gender); //调用方法 stu.study(); stu.sleep(); }}/**/class Student { String name;//姓名属性 int age; //年龄属性 String gender; //性别属性 public void study(){ //定义学习的方法 System.out.println("学习时间不准打瞌睡"); } public void sleep(){ System.out.println("睡觉时间不能玩手机"); }}
Phone 类
class Demo2_Phone { public static void main(String[] args) { Phone p = new Phone(); p.brand = "小米8"; p.price = 2000; System.out.println("手机的品牌是"+p.brand +" "+"价格是" +p.price); p.call(); p.sendMessage(); p.playGame(); }}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 Demo1_Car { public static void main(String[] args) { Car c1 = new Car(); c1.color = "yellow"; c1.num = 4; System.out.println("这辆车的颜色是" + c1.color + " " + "有" + c1.num + "个轮子"); c1.run(); c1.charge(); }}class Car { String color; int num; public void run() { System.out.println("\t这辆车这么酷,像大黄蜂,跑起来很拉风"); } public void charge() { System.out.println("\t\t而且不需要加油,充电就可以了"); }}