Java_类与对象13_小练习

Posted zhaolanqi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java_类与对象13_小练习相关的知识,希望对你有一定的参考价值。

一、  

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

   A:在类中位置不同

   B:在内存中位置不同

   C:生命周期不同

   D:初始化值不同

    

2:形式参数分别为基本类型和引用类型的问题?

   形式参数:基本类型 形参的改变不影响实际参数

   形式参数:引用类型 形参的改变直接影响实际参数

    

   如果一个方法的形式参数是一个类的名称,那么这里需要的是该类的对象。

 

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

   没有名字的对象。

    

   应用场景:

      A:调用方法,仅仅调用一次的时候

      B:作为实际参数传递

 

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

封装:隐藏实现细节,提供公共的访问方式。

 

封装的体现:

      类,方法,private修饰成员变量

 

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

this:代表当前类的对象应用

 

应用场景:解决局部变量隐藏成员变量的问题

 

6:构造方法的作用是什么?构造方法的特点是什么?

构造方法的注意事项是什么?构造方法中可不可以写return语句呢?

 

作用:用于对对象的数据进行初始化

 

特点:

   A:方法名和类名相同

   B:没有返回值类型,连void都不能有

   C:没有返回值

    

注意事项:

   A:如果我们不给构造方法,系统就提供一个默认的无参构造方法

   B:如果我们给出了构造方法,系统就不再提供默认构造方法

      这个时候我们想用,就要自己提供。建议自己提供无参构造方法。

       

   class Student {

      private String name;

       

      public Student(){}

       

      //getXxx/setXxx

   }

    

构造方法可以有return语句,但是不能有明确的返回值。也就是说return;

 

7:给成员变量赋值有几种方式?

   A:setXxx()

   B:带参构造方法

 

8:标准的代码编写及测试:

   A:学生类的案例

   B:手机类的案例

   C:长方形类的案例

    

   class Student {

      private String name;

      private int age;

       

      public Student(){}

       

      public String getName() {

         return name;

      }

       

      public void setName(String name) {

         this.name = name;

      }

       

      public int getAge() {

         return age;

      }

       

      public void setAge(int age) {

         this.age = age;

      }

   }

    

   class StudentDemo {

      public static void main(String[] args) {

         Student s = new Student();

         s.setName("林青霞");

         s.setAge(27);

         System.out.println(s.getName()+"---"+s.getAge());

      }

   }

    

9:一个类的成员变量初始化过程

   Student s = new Student();

    

   A:把Student.class文件加载到内存(类加载器)

   B:在栈内存为s开辟空间

   C:在堆内存为学生对象申请空间

   D:给学生对象的成员变量进行默认初始化

   E:给学生对象的成员变量进行显示初始化

   F:通过构造方法给学生对象的成员变量进行初始化

   G:把堆内存的地址赋值给s变量

    

10:static关键字是什么?有什么特点?什么时候用呢?

   static静态的意思,可以修饰成员变量和成员方法。

    

   特点:

      A:随着类的加载而加载

      B:优先与对象存在

      C:被所有对象共享

      D:可以通过类名调用

       

   什么时候用?

      A:当一个成员被所有对象共享的时候。

      B:工具类的时候。

       

11:静态变量和成员变量的区别

   A:所属不同

   B:内存位置不同

   C:生命周期不同

   D:调用不同

       

12:main方法各种修饰符及参数的解释?

   public:权限修饰符,权限最大

   static:可以不用创建对象

   void:返回值给jvm无意义

   main:一个方法名,大家都默认的

   String[] args:接收键盘录入对象

二、  

1:代码块是什么?代码块的分类和各自特点?

2:静态代码块,构造代码块,构造方法的执行流程?

3:继承概述

4:继承的好处

5:Java中继承的特点

6:Java中继承的注意事项?以及我们什么时候使用继承?

7:继承中的成员访问特点

   A:成员变量

      在子类方法中访问一个变量

   B:成员方法

      在测试类中通过子类对象去访问一个方法

8:继承中构造方法的执行流程?假如父类没有无参构造方法,子类应该怎么办?

9:面试题:

   方法重写和方法重载的区别?方法重载能改变返回值类型吗?

   Overload

   Override

 

   this关键字和super关键字分别代表什么?以及他们各自的使用场景和作用。

10:继承案例练习

11:猜数字小游戏练习。

   通过API学习并使用Math类的random()方法。

三、  

1:final关键字可以干什么?有什么特点?

   最终的意思。可以修饰类,方法,变量。

   它修饰类,类不能被继承

   它修饰方法,方法不能被重写

   它修饰变量,变量是常量

 

2:final关键字的面试题?

   A:修饰局部变量

      基本类型:值不能改变

      引用类型:地址值不能改变

       

   B:初始化时机

      定义的时候

      构造方法中

    

3:多态是什么,前提是什么?

   同一个对象在不同时刻表现出来的不同的状态

    

   A:有继承或者实现关系

   B:有方法的重写

   C:有父类或者父接口引用指向子类对象

 

4:多态中成员访问的特点?

   成员变量

      编译看左边,运行看左边

   成员方法

      编译看左边,运行看右边

   静态方法

      编译看左边,运行看左边

 

5:多态的好处及弊端?如何解决多态的弊端?

   好处:

      维护性和扩展性

       

   弊端:父类不能使用子类特有功能

    

   如何解决呢?

      A:创建子类对象。(在内存中会多了一个对象)

      B:向下转型

 

6:什么是向上转型?什么是向下转型?

   子 - 父

   父 - 子

 

7:多态练习  

   自己做

    

8:抽象类概述及其特点?

   抽象类:继承的时候,提取了多个方法,而有些方法不是每个子类都是一模一样的实现,

   这个时候,就应该把这样的方法不提供具体实现,而不提供具体实现的方法是一个抽象方法。

         在一个类中,如果有抽象方法,该类必须定义为抽象类。

          

   特点:

      A:抽象类或者抽象方法由abstract修饰

      B:抽象类中不一定有抽象方法,但是有抽象方法的类一定是抽象类

      C:抽象类不能实例化

      D:抽象类的子类

         a:是抽象类

         b:是具体类,就要重写所有抽象方法

          

9:抽象类成员特点?

   A:成员变量

      有变量,有常量

   B:构造方法

      有。用于子类访问父类数据的初始化

   C:成员方法

      有抽象方法,有非抽象方法

 

10:抽象类练习?

 

11:抽象类的小问题

   A:一个类如果没有抽象方法,可不可以定义为抽象类?如果可以,有什么意义?

   B:abstract不能和哪些关键字共存

      final

      static

      private

 

12:接口的概述及其特点?

   接口:某个继承体系需要扩展功能的时候,就应该实现接口。

    

   特点:

      A:接口用interface修饰

      B:类实现接口用implements修饰

      C:接口不能实例化

      D:接口的实现

         a:抽象类

         b:具体类,重写接口中的所有抽象方法

 

13:接口的成员特点?

   A:成员变量 静态常量

   B:成员方法 抽象的

 

14:抽象类和接口的区别?

   A:成员区别

   B:关系区别

   C:设计理念区别

      "is a"

      "like a"

 

15:接口的练习?

 

16:案例

   猫狗案例,加入跳高的额外功能

   老师和学生案例,加入抽烟的额外功能

   教练和运动员案例(学生分析然后讲解)

四、  

1:形式参数和返回值问题

   形式参数

      基本类型

      引用类型

   返回值类型

      基本类型  

      引用类型

 

2:包的定义及注意事项

   package

    

   第一条有效语句

   唯一

 

3:导包及注意事项

   import

    

   java.lang不需要导入

   java.xxx.yyy.类名; 导入到类的级别

    

   java.xxx.yyy.*; 这个也可以,但是不建议

 

4:四种权限修饰符及其特点

  技术分享图片

5:常见的修饰符及组合

   类:public

   成员变量:private

   构造方法:public

   成员方法:public

 

6:内部类的概述及访问特点

   把类定义在另一个类的内部,叫内部类。

    

   访问特点:

      内部类可以直接访问外部类的成员,包括私有

      外部类访问内部类的成员需要创建对象

 

7:内部类的分类

   按照位置不同

    

   成员内部类

   局部内部类

 

8:匿名内部类的格式和应用及面试题

   new 类名或者接口名() {

      重写方法;

   }

 

9:把面向对象部分的总结看一遍。准备后面使用。

有问题记录下来问我

以上是关于Java_类与对象13_小练习的主要内容,如果未能解决你的问题,请参考以下文章

java_类与对象的关系

Java_类与对象03_封装和privatethissuperstatic关键字

java类与对象_成员变量和局部变量区别

Python类与对象

第07章 面向对象编程(基础部分)

阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_08 转换流_6_练习_转换文件编码