构造方法

1021课堂内容

泄露秘密 提交于 2019-12-02 03:16:22
  一、动手实验。 1)   在子类调用时如果他是继承其父类时首先会先调用其父类的构造函数。 2)  调用关系修改Parent构造方法的代码,显式调用GrandParent的另一个构造函数,注意这句调用代码是否是第一句。 public class TestInherits { public static void main(String[] args) { Child c=new Child(); } } class Grandparent { public Grandparent() { System.out.println("GrandParent Created."); } public Grandparent(String string) { System.out.println("GrandParent Created.String:" + string); } } class Parent extends Grandparent { public Parent() { super("Parent Created"); //super("Hello.Grandparent."); System.out.println("Parent Created"); // super("Hello.Grandparent."); } } class Child extends

Java注释规范

喜你入骨 提交于 2019-12-02 03:11:06
一、注释规范 1、 类注释 在每个类前面必须加上类注释,注释模板如下: 1 /** 2 3 * Copyright (C), 2006-2010, ChengDu Lovo info. Co., Ltd. 4 5 * FileName: Test.java 6 7 * 类的详细说明 8 9 * 10 11 * @author 类创建者姓名 12 * @Date 创建日期 13 14 * @version 1.00 15 16 */ 2、 属性注释 在每个属性前面必须加上属性注释,注释模板如下: 1 /** 提示信息 */ 2 3 private String strMsg = null; 3、 方法注释 在每个方法前面必须加上方法注释,注释模板如下: 1 /** 2 3 * 类方法的详细使用说明 4 5 * 6 7 * @param 参数1 参数1的使用说明 8 9 * @return 返回结果的说明 10 11 * @throws 异常类型.错误代码 注明从此类方法中抛出异常的说明 12 13 */ 4、 构造方法注释 在每个构造方法前面必须加上注释,注释模板如下: 1 /** 2 3 * 构造方法的详细使用说明 4 5 * 6 7 * @param 参数1 参数1的使用说明 8 9 * @throws 异常类型.错误代码 注明从此类方法中抛出异常的说明 10 11 */ 5、

java语言课堂动手动脑

99封情书 提交于 2019-12-02 02:56:34
1 运行 TestInherits.java 示例,观察输出,注意总结父类与子类之间构造方法的调用关系修改 Parent 构造方法的代码,显式调用 GrandParent 的另一个构造函数,注意这句调用代码是否是第一句,影响重大! 代码如下 1 package testInherits; 2 3 class Grandparent 4 { 5 6 7 public Grandparent() 8 { 9 10 System.out.println("GrandParent Created."); 11 12 } 13 14 15 public Grandparent(String string) 16 { 17 18 System.out.println("GrandParent Created.String:" + string); 19 20 } 21 22 } 23 24 25 26 class Parent extends Grandparent 27 { 28 29 30 public Parent() 31 { 32 33 //super("Hello.Grandparent."); 34 35 System.out.println("Parent Created"); 36 37 //super("Hello.Grandparent."); 38 39 } 40 41

Java菜题

不问归期 提交于 2019-12-02 02:03:50
编程语言: Java 2019年全国高校计算机能力挑战赛分设大数据算法赛 一、选择题(共 15 题,每题 3 分,共 45 分) 1. 在Java中下列说法正确的是( ) A、一个子类可以有多个父类,一个父类也可以有多个子类 B、一个子类可以有多个父类,但一个父类只可以有一个子类 C 、 一个子类可以有一个父类,但一个父类可以有多个子类 D、上述说法都不对 2. 关于 Java垃圾回收机制描述不正确的是( ) A、垃圾回收机制不须通过程序调用相应方法,也能自动启动。 B、Java程序用System.gc()方法一定能进行垃圾回收; C、垃圾回收机制属于jvm自动操作,java程序可以不进行垃圾回收操作。 D、垃圾回收机制并不是由操作系统自动执行。 3. 面向对象技术领域内占主导地位的标准建模语言是 ( ) A 、 C++ B 、 Java C 、 C# D 、 UML 4. 在 Java语言中,以下( )不属于基本数据类型。 A、 int B、boolean C、 String D、 double 5. Java语言 类间的继承关系是( )。 A、单继承 B、多重继承 C、不能继承 D、不一定 6. 以下关于构造方法的描述正确的是( )。 A、构造方法 的返回类型只能是 void型。 B、构造 方法 是类的一种特殊函数,它的方法名必须与类名相同。 C

继承与多态课后动手动脑问题总结

亡梦爱人 提交于 2019-12-02 00:40:19
一、继承 1、题目 运行 TestInherits.java 示例,观察输出,注意总结父类与子类之间构造方法的调用关系修改Parent构造方法的代码,显式调用GrandParent的另一个构造函数, 注意这句调用代码是否是第一句,影响重大! 代码如下: 1 class Grandparent { 2 public Grandparent(){ 3 System.out.println("GrandParent Created."); 4 } 5 public Grandparent(String string) { 6 System.out.println("GrandParent Created.String:" + string); 7 } 8 } 9 class Parent2 extends Grandparent{ 10 public Parent2(){ 11 super("Hello.Grandparent."); 12 System.out.println("Parent Created"); 13 // super("Hello.Grandparent."); 14 } 15 } 16 class Child2 extends Parent2 { 17 public Child2() { 18 System.out.println("Child Created")

继承,多态,接口与抽象类学习总结

落花浮王杯 提交于 2019-12-01 23:48:52
一,继承 动手实验_1: 题目:运行 TestInherits.java 示例,观察输出,注意总结父类与子类之间构造方法的调用关系修改Parent构造方法的代码,显式调用GrandParent的另一个构造函数,注意这句调用代码是否是第一句,影响重大! TestInherits.java: class Grandparent { public Grandparent(){ System.out.println("GrandParent Created."); } public Grandparent(String string) { System.out.println("GrandParent Created.String:" + string); } } class Parent2 extends Grandparent{ public Parent2(){ super("Hello.Grandparent."); System.out.println("Parent Created"); // super("Hello.Grandparent."); } } class Child2 extends Parent2 { public Child2() { System.out.println("Child Created"); } } public class

java面试题最容易犯错

核能气质少年 提交于 2019-12-01 23:44:09
1. static 和 final 的用法 static 的作用从三个方面来谈,分别是静态变量、静态方法、静态类。 静态变量:声明为 static 的静态变量实质上就是全局变量,当声明一个对象时,并不产生static 变量的拷贝,而是该类所有实例变量共用同一个 static 变量。也就是说这个静态变量只加载一次,只分配一块储存空间。 静态方法: 声明为static的静态方法有以下几个特点: (1)静态方法只能调用静态方法; (2)静态方法只能访问静态数据; (3)静态方法不能以任何方式引用this或super; 静态类:通常一个普通类不允许声明为静态,只有一个内部类才可以(main方法就是一个典型),这时这个声明的静态类可以直接作为一个普通类来使用,而不需要实例一个外部类。 final 的作用从变量、方法、类三个方面来理解: final修饰的变量的值不能被修改,是一个常量; final修饰的方法不能被重写; final修饰的类不能被继承; 2. 抽象类和接口的区别,类可以继承多个类吗,接口可以继承多个接口吗,类可以实现多个接口吗? 抽象类和接口都不能直接实例化,如果要实例化,抽象类变量必须指向实现所有抽象方法的子类对象,接口变量必须指向实现所有接口方法的类对象。 抽象类要被子类继承,接口要被类实现。   接口只能做方法声明,抽象类中可以做方法声明,也可以做方法实现

oop面向对象【类与对象、封装、构造方法】

删除回忆录丶 提交于 2019-12-01 23:43:35
今日内容 1.面向对象 2.类与对象 3.三大特征 —— 封装 4.构造方法 教学目标 1.能够理解面向对象的思想 2.能够明确类与对象关系 3.能够掌握类的定义格式 4.能够掌握创建对象格式,并访问类中的成员 5.能够完成手机类的练习 6.能够理解对象的内存图 7.能够说出成员变量和局部变量的区别 8.能够理解 private 关键字的含义 9.能够说出 this 关键字可以解决的问题 10.能够理解构造方法的含义 11.能够用封装的思想定义一个标准类 第 1 章 面向对象思想 1.1 面向对象思想概述 概述 Java 语言是一种面向对象的程序设计语言,而面向对象思想是一种程序设计思想,我们在面向对象思想的指引下, 使用 Java 语言去设计、开发计算机程序。 这里的 对象 泛指现实中一切事物,每种事物都具备自己的 属性 和 行为 。面 向对象思想就是在计算机程序设计过程中,参照现实中事物,将事物的属性特征、行为特征抽象出来,描述成计算 机事件的设计思想。 它区别于面向过程思想,强调的是通过调用对象的行为来实现功能,而不是自己一步一步的去 操作实现。 举例 洗衣服 : 面向过程:把衣服脱下来 --> 找一个盆 --> 放点洗衣粉 --> 加点水 --> 浸泡 10 分钟 --> 揉一揉 --> 清洗衣服 --> 拧干 --> 晾 起来 面向对象:把衣服脱下来 -->

Mybatis映射器之ResultMap解析

我是研究僧i 提交于 2019-12-01 23:21:50
Mybatis映射器之ResultMap解析 在 Mybatis映射器之select解析 这篇文章最后我们只是简单的介绍了一下ResultMap的使用,而ResultMap功能非常多,他也包含了很多子元素,本篇我们将详细的介绍下。 1. Result Maps概述 resultMap 元素是 MyBatis 中最重要最强大的元素。它可以让你从 90% 的 JDBC ResultSets 数据提取代码中解放出来, 并在一些情形下允许你做一些 JDBC 不支持的事情。 实际上,在对复杂语句进行联合映射的时候,它很可能可以代替数千行的同等功能的代码。 ResultMap 的设计思想是,简单的语句不需要明确的结果映射,而复杂一点的语句只需要描述它们的关系就行了。 你已经见过简单映射语句的示例了,但没有明确的 resultMap。比如: < select id= "selectUsers" resultType= "map" > select id, username, hashedPassword from some_table where id = #{id} </ select > 上述语句只是简单地将所有的列映射到 HashMap 的键上,这由 resultType 属性指定。虽然在大部分情况下都够用,但是 HashMap 不是一个很好的领域模型。你的程序更可能会使用

java变量,初始化快,构造函数的执行顺序

时间秒杀一切 提交于 2019-12-01 22:30:43
对于JAVA中类的初始化是一个很基础的问题,其中的一些问题也是易被学习者所忽略。当在编写代码的时候碰到时,常被这些问题引发的错误,感觉莫名其妙。而且现在许多大公司的面试题,对于这方面的考查也是屡试不爽。不管基于什么原因,我认为,对于java类中的初始化问题,有必要深入的了解。Java类的初始化,其实就是它在JVM的初始化问题(类加载的问题),对于它在JVM中的初始化是一个相当复杂的问题,是给专家们来探讨的,所以在这里我只是对一些容易忽略的问题,发表一下个人观点: 1,在一个类的内部(不考虑它是另一个类的派生类):很多人认为,类的成员变量是在构造方法调用之后再初始化的,先不考虑这种观点的正确性,先看一下下面的代码: [java] view plain copy class Test01...{ public Test01( int i)...{ System.out.println( "Test01 of constractor : " + i); } } public class Test02 ...{ private Test01 t1 = new Test01( 1 ); private int n = 10 ; public Test02()...{ System.out.println( "Test02 of constructor : " + n); } private