1.以下关于面向对象概念的描述中,不正确的一项是()

A.在构造方法中,this()只能出现在构造方法第一行位置

B.在构造方法中,super()只能出现在构造方法第一行位置

C.this()和super()可以同时出现在同一个构造方法中,this()指代调用本类中其他构造方法,super()指代调用父类构造方法

D.this()和super()不能同时出现在同一个构造方法中,否则编译器会报错

答案:C

解析:this()和super()不能同时出现在一个构造函数里面,因为this()和super()会争抢第一行的位置,并且都必须放在第一行位置,所以在同一个构造函数里面不能同时出现shit()和super(),否则编译器也不会通过

2.以下程序的输出结果是:()

class Super {
public Super() {
System.out.println("Super ");
}
} public class Sub extends Super{
public Sub() {
System.out.println("Sub");
} public static void main(String[] args) {
Super fc = new Super();
Sub cc = new Sub();
}
}

A.Super                     B.Super                C.Sub                       D.Super

Super                         Sub                      Super                        Sub

Sub                                                                                          Sub

答案:A

解析:子类继承父类,先构造父类构造方法,再构造自己的构造方法,子类构造方法中默认有super(),且位于第一行

每日笔记:

  构造方法和成员方法的区别:

   1) 业务方面:

    构造器: 是描述"对象创建"过程, 如: 创建一个Student

      方法: 是描述对象的行为, 对象的功能, 如: 学生学习 study()

   2) 语法层面:

    构造器: 构造器名字与类名一致, 不能定义返回值

    方法: 名字一般与类名不同, 一定声明返回值C

   3) 使用:

    构造器是使用 new 调用构造器. 如: new Student()

     方法则是使用对象的引用调用. 如:stu.study()

    方法签名=方法名+参数类型列表,java同一个类中不能存在相同方法签名的方法

  4)默认构造器:java类一定有构造器

    当使用new 关键字时,JVM必定调用构造方法创建对象

      如果类没有声明任何构造器,javac自动提供一个无参默认,而如果你自己建了一个有参的构造方法,那么就不会再提供默认的无参构造了

Java基础练习2(构造方法)的更多相关文章

  1. 《Java基础——构造器(构造方法)》

    Java基础--构造器(构造方法)       总结: 1.构造器名应与类名相同,且无返回值. 2."new 方法"的本质就是在调用构造器. 3.构造器的作用--初始化对象的值. ...

  2. Java基础_0304:构造方法

    构造方法 如果要实例化新的对象,那么肯定需要使用关键字new来完成,但是除了new这个关键字之外,还有可能在对象实例化时为其进行一些初始化的准备操作,这个时候就需要构造方法的支持了 构造方法本身是一种 ...

  3. Java 基础 面向对象之构造方法和关键字

    构造方法 构造方法简介 在开发中经常需要在创建对象的同时明确对象的属性值,比如员工入职公司就要明确他的姓名.年龄等属性信息. 那么,创建对象就要明确属性值,那怎么解决呢?也就是在创建对象的时候就要做的 ...

  4. Java基础—String构造方法

    Java基础--String构造方法 public String(): 创建一个空表字符串对象,不包含任何内容 public String(char[]chs): 根据字符数组的内容,来创建字符串对象 ...

  5. [Java面经]干货整理, Java面试题(覆盖Java基础,Java高级,JavaEE,数据库,设计模式等)

    如若转载请注明出处: http://www.cnblogs.com/wang-meng/p/5898837.html   谢谢.上一篇发了一个找工作的面经, 找工作不宜, 希望这一篇的内容能够帮助到大 ...

  6. 【JAVA面试题系列一】面试题总汇--JAVA基础部分

    JAVA基础 基础部分的顺序: 基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法 线程的语法,集合的语法,io 的语法,虚拟机方面的语法 每天几道,持续更新!! 1.一个". ...

  7. java基础知识小总结【转】

    java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...

  8. Java基础知识笔记(四:多线程基础及生命周期)

    一.多线程基础 编写线程程序主要是构造线程类.构造线程类的方式主要有两种,一种是通过构造类java.lang.Thread的子类,另一种是通过构造方法实现接口java.lang.Runnable的类. ...

  9. Java基础知识笔记(一:修饰词、向量、哈希表)

    一.Java语言的特点(养成经常查看Java在线帮助文档的习惯) (1)简单性:Java语言是在C和C++计算机语言的基础上进行简化和改进的一种新型计算机语言.它去掉了C和C++最难正确应用的指针和最 ...

随机推荐

  1. Caffe 编译后 make runtest 出现locale::facet::_S_create_c_locale 错误

    You might need to append LC_ALL="en_US.UTF-8" to file: /etc/default/locale and reboot your ...

  2. Linux文本处理命令 -- grep

    简介 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它 ...

  3. MySql常用两大存储引擎简介

    MyISAM存储引擎简介 MyISAM存储引擎的表在数据库中,每一个表都被存放为三个以表名命名的物理文件. 首先肯定会有任何存储引擎都不可缺少的存放表结构定义信息的.frm文件,另外还有.MYD和.M ...

  4. SSM-MyBatis-07:Mybatis中SqlSession的insert和delete底层到底做了什么

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 先点进去看一下insert方法 用ctrl加鼠标左键点进去看 发现是一个接口SqlSession的方法,没有实 ...

  5. JDK源码分析-String、StringBuilder、StringBuffer

    String类的申明 public final class String implements java.io.Serializable, Comparable<String>, Char ...

  6. web页面测试

    一.Web的功能测试   1.超链接测试     a.链接与链接的说明文字要匹配 (注:也可以是图片)        b.链接的文字要描述正确        c.链接的文字要精简有效     d.链接 ...

  7. 拿到6个重磅offer的大神,超详细面试经验总结

    本人是国内某财经院校的小本,学校不算很有名,也没有很好的硬件条件,但是很幸运的在这样的就业大环境里拿了6个OFFER,其中包括一些股份制商业银行的总行,4大国有商业银行的省行,以及国内最一流国企的省公 ...

  8. 4. 整合MyBatis

    mybatis既有jdbc的灵活,有具有orm工具的方便,是一套很好用的工具,这儿就使用mybatis来作为数据访问工具,具体添加过程如下: 1. 添加mybatis依赖,并更新项目 <depe ...

  9. Java程序员必备的Intellij插件

    以下是我用过不错的Intellij插件 1. .ignore 地址:https://plugins.jetbrains.com/plugin/7495--ignore 生成各种ignore文件,一键创 ...

  10. grpc.go

    package,,), etcd.WithPrefix(), etcd.WithPrevKV()}     gw.wch = gw.c.Watch(gw.ctx, gw.target, opts... ...