面向对象---------总(一)

xiaoxiao2021-03-01  13

1:局部变量和成员变量的区别? 类中位置, 局部变量:方法中,方法声明上

class HelloWorld { String name; public void run(String name){ int age =10; } }

内存位置: 局部变量 栈内存 成员变量 堆内存 生命周期: 局部变量,随着方法的调用而进栈,随着方法的弹栈而消失           成员变量 随着对象的创建而存在,随着对象的消失而消失 默认初始值:局部变量没有默认初始值            成员变量有默认初始值         引用数据类型:null         基本数据类型: 整数型 int short byte long 0                       小数类型 float double 0.0                       布尔类型: false                       字符型:char '\u0000' 2:匿名对象是什么?应用场景是什么? 没有名字的对象

Student s = new Student(); new Student(); 匿名对象两种应用场景: 第一种:仅仅调用一次方法的时候可以使用 第二种:可以作为参数传递

class Test { public static void main(String[] args){ //第一种 Student s = new Student(); show(s); //第二种 show(new Student()); } //如果一个方法的形式参数是类名的时候,这里其实要的该类的对象 public static void show(Student s){ System.out.println("show方法"); } }

作为参数传递

add(new Student()); //这是一个类方法,这个类的书写格式是 : 修饰符 返回值类型 方法名(参数类型 参数名1 ,参数类型 参数名2) {} public void add(Student s){  

}

3:封装是什么?java中封装的体现有哪些?请举例说明。 封装事物隐藏实现细节,对外提供公共访问方式 private 成员变量  //不能在外部类中 用对象名.成员变量来赋值  必须通过set/get方法来操作 对外提供 set/get方法

4:this关键字是什么?this关键字的应用场景? 指向当前对象,当前的引用

class Test { public static void main(String[] args) { Student s = new Student(); s.setName("张三"); Student s2 = new Student(); s2.setName("李四"); } } class Student { private String name; private int age; public void setName(String name) { //就近原则 作用之一:区分局部变量 和成员变量 this.name = name; } }

5:如何使用一个类的成员 如果一个类里面的成员变量没有使用private关键字,那么 使用对象名.成员变量名即可 如果一个类里面的成员方法没有使用private关键字,那么 使用对象名.成员方法名()调用即可

class Test { public static void main(String[] args) { Student s = new Student(); s.name = "张三"; s.setName("张三"); s.run(); Student s2 = new Student(); s2.setName("李四"); } } class Student { String name; private int age; public void setName(String name) { //就近原则 作用之一:区分局部变量 和成员变量 this.name = name; } private void run(){ } }

 

转载请注明原文地址: https://www.6miu.com/read-4050125.html

最新回复(0)