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:把面向对象部分的总结看一遍。准备后面使用。

有问题记录下来问我

原文地址:https://www.cnblogs.com/zhaolanqi/p/9235604.html

时间: 2024-10-25 07:25:16

Java_类与对象13_小练习的相关文章

关于数组、类和对象的小题

1.已知2个一维数组:a[]={3,4,5,6,7},b[]={1,2,3,4,5,6,7}:把数组a与数组b对应的元素乘积再赋值给数组b,如:b[2]=a[2]*b[2]:最后输出数组b的元素. public static void main(String[] args){ int[] a=new int[]{3,4,5,6,7}; int[] b=new int[]{1,2,3,4,5,6,7}; for(int i=0;i<a.length;i++){ b[i]=a[i]*b[i]; }

Java_类和对象(完美总结)_转载

转载自海子:http://www.cnblogs.com/dolphin0520/p/3803432.html Java:类与继承 对于面向对象的程序设计语言来说,类毫无疑问是其最重要的基础.抽象.封装.继承.多态这四大特性都离不开类,只有存在类,才能体现面向对象编程的特点,今天我们就来了解一些类与继承的相关知识.首先,我们讲述一下与类的初始化相关的东西,然后再从几个方面阐述继承这一大特性.以下是本文的目录大纲: 一.你了解类吗? 二.你了解继承吗? 三.常见的面试笔试题 若有不正之处,请多多谅

Java_类与对象03_封装和private、this、super、static关键字

A    封装:类中的成员变量为private(私有),为私有的成员变量提供公有的get()或set(). 封装的好处: i.      隐藏实现细节,提供共有的访问方式 ii.     提高了代码的复用性 iii.    提高安全性 封装的原则(思想): i.      将不需要对外提供的内容隐藏起来 ii.     把属性隐藏,提供公共方法对其访问 封装的体现:private是封装的一种体现. B    private: i.      是一个权限修饰符 ii.     可以修饰成员(成员变

Java_类与对象08_形式参数和返回值的问题

1.     形式参数: 类名:需要该类的对象 抽象类名:需要该类的子类对象 接口名:需要该接口的实现类对象 案例一: 案例二: 案例三: 2.     返回值类型: 类名:返回的是该类的对象 抽象类名:返回的是该类的子类对象 接口名:返回的是该接口的实现类的对象 案例一: 案例二: 案例三: 3.     链式编程 对象.方法1().方法2().......方法n(); 这种用法:其实在方法1()调用完毕后,应该一个对象: 方法2()调用完毕后,应该返回一个对象. 方法n()调用完毕后,可能是

OC类与对象实例化,类之间的方法调用小题目

两个OC类与对象实例化题目 要求: * 类名.属性名.属性类型.方法名.方法参数.方法返回值自拟 * 自己写main函数测试设计是否合理 /* 1.设计一个"狗"类 1> 属性 * 颜色 * 速度(单位是m/s) * 性别 * 体重(单位是kg) 2> 行为 * 吃:每吃一次,体重增加0.5kg,输出吃完后的体重 * 吠(叫):输出所有的属性 * 跑:每跑一次,体重减少0.5kg,输出速度和跑完后的体重 * 比较颜色:跟别的狗比较颜色,如果一样,返回YES,不一样,返回NO

Java学习笔记--类和对象

1.介绍面向对象的编程 面向对象是现在主流的编程样例,它替代了以前C语言使用时的"结构体",Java是一门面向对象的语言,所以需要熟悉面向对象的概念.面向对象的程序由很多对象组成,每个函数对于用户而言,都有特殊的功能.程序里面的很多对象都可以直接从公共库里面拿来直接用.不用去研究这些功能怎么去实现的.传统的结构的编程由一系列算法步骤来解决问题.一旦这些步骤确定下来,也要同时确定存储数据的方式.也就是数据结构一开始学习的:算法+数据结构=程序. 先决定算法,再决定使用什么样的结构来存储数

python基础-第七篇-7.1初识类和对象

创建类和对象 刚开始我们接触得多的编程方式为面向过程编程,这种方式就是根据业务逻辑从上往下垒代码,后来又出现了函数式编程,就是为了提高代码的重用性,减轻程序猿的工作量--而今天我们即将学的 面向对象编程则是使用类和对象来实现的,类就是一个模板,模板里可以包含多个函数,函数里实现一些功能 对象则是根据模板创建的实例,通过实例对象可以执行类中的函数 class是关键字,表示类 创建对象--类名称后加括号 #创建类 class foo: def bar(self): print('bar') def

一.类和对象

1.接口部分:对外声明类的行为和特征(类的定义分为:接口部分和实现部分) ① @interface 接口关键字:用于表示这是一个类的接口部分 接口部分功能:是定义类的静态特征和声明动态行为 @end 作为结束标志 对外接口:通过接口就可以在不知道实现的情况下,了解这个类有什么 Person:类名,每一个类都要起一个名字.首字母大写(类:对象的类型) NSObject:父类 @interface Person: NSObject ②静态特征:实例变量 ③实例变量必须在花括号中 ④创建实例变量的时候

1.27总结(类,对象)

什么为结构化编程? 将一个大的问题分解成更小的任务,然后为每个更小的任务编写一个过程(或函数).最后会编写一个主过程来启动程序流程, 随后根据程序流程走向,调用想要的其他过程.这种类型的程序设计被称为结构化编程. 什么为面向对象编程? 围绕着问题域中的对象来设计的程序为结构化编程. 面向对象编程有什么特点? 一种认识事物的方式,注重事物整体的认知,最符合人类的自然的思维习惯. 面向对象有什么解决方案? 找对象:对象可以是问题域中出现的任何人,事物或实体,简单的说就是“东西”. 在已经找到问题域中