JAVA-初步认识-第七章-this不明白的点(补录)

一.

截图是想要说明,我在构造函数中调用一般函数时,用this.speak(); 居然可以运行,省略this.也是可以的。但是如果是构造函数之间调用,写成this.Person(String name); 就不行。

我知道无论是构造函数调用一般函数,还是构造调用构造函数用,p.调用绝对是不可以的,对象还没建成。但是为什么构造函数调用一般函数就可以?

时间: 2024-10-12 07:55:06

JAVA-初步认识-第七章-this不明白的点(补录)的相关文章

“全栈2019”Java第一百零七章:匿名内部类与构造方法注意事项

难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第一百零七章:匿名内部类与构造方法注意事项 下一章 "全栈2019"Java第一百零八章:匿名内部类与final关键字 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复"

Thinking In Java笔记(第七章 复用类)

第七章 复用类 复用代码是Java众多引人注目的功能之一,但想要成为极具革命性的语言,仅仅能够复制代码并对之加以改变是不够的,它还必须能够做更多的事情. Java中所有事物都是围绕着类来展开的.通过创建新类来复用代码,不必重新开头编写.此方法的窍门在于使用类而不破坏现有程序代码.本章中有两种代码重用机制来达到这一目的: 只需要在新的类中生成现有类的对象.由于新的类是由现有类的对象所组成的,这种方法通常成为组合.该方法只是复用了现有程序代码功能,而非形式上和之前的类有相似之处. 第二种方法更加细致

Java学习笔记—第七章 类的深入解析

第七章 类的深入解析 1. 继承 1.1 类继承的方法:在Java中,子类对父类的继承是在类的声明中使用extends关键字来指明的.其一    般格式为:[类修饰符] class <子类名> extends <父类名>{ 类体内容 }.一个类只能直接继承一个    父类,一个父类可以有多个子类. 1.2 成员变量的继承和隐藏:基于父类创建子类时,子类可以继承父类的成员变量和成员方法.但是,     如果在父类和子类中同时声明了一个同名变量,则这两个变量在程序运行时同时存在.即:父

王颖奇 201771010129《面向对象程序设计(java)》第七章学习总结

实验七 继承附加实验 实验时间 2018-10-11 1.实验目的与要求 (1)进一步理解4个成员访问权限修饰符的用途: A.仅对本类可见-private B.对所有类可见-public C.对本包和所有子类可见-protected D.对本包可见-默认,,不需要修饰符 (2)掌握Object类的常用API用法: equals方法:检测一个对象是否等于另一个对象(不同于==) hasCode方法:获得散列码(其值为对象的存储地址) toString方法:它用于返回对象值的字符串 (3)掌握Arr

java面向对象编程— —第七章 继承

7.1继承的起源 继承(Inheritance),即在面向对象编程中,可以通过扩展(extends)一个已有的类,并继承该类的属性的行为,来创建一个新的类. 已有的类称为父类(也可以称为基类,超类),而新类称为子类(也可以称为派生类). 继承的优点:代码的可重用性:父类的属性和方法可用于子类:子类可以扩展父类的属性和方法:设计应用程序变得更加简单. 7.2 继承的使用原则 观察要使用的类,确定它们之间共同的和特有的属性和行为,将这些共性数据迁移到父类里,便于子类中进行方法和属性的重用. 对于不同

&lt;&lt;java 并发编程&gt;&gt;第七章:取消和关闭

Java没有提供任何机制来安全地终止线程,虽然Thread.stop和suspend等方法提供了这样的机制,但是存在严重的缺陷,应该避免使用这些方法.但是Java提供了中断Interruption机制,这是一种协作机制,能够使一个线程终止另一个线程的当前工作. 这种协作方式是必要的,我们很少希望某个任务线程或者服务立即停止,因为这种立即停止会时某个共享的数据结构处于不一致的状态.相反,在编写任务和服务的时候可以使用一种协作方式:当需要停止的时候,它们会先清除当前正在执行的工作,然后再结束. 7.

Java编程思想 第七章

7.1 组合语法 1)组合即 将对象引用置于新类中 2)每一个非基本类型的对象都有一个toString()方法,而且当编译器需要一个String而你却只有一个对象时,该方法便会被调用. 3)初始化一个类中的对象引用有如下四种方式: 1.在定义对象的地方初始化,,意味着总能在调用构造器之前被初始化 2.在类的构造器中 3.就在正要使用这些对象之前,这种叫惰性初始化,这种可以减少额外的负担 4.使用实例初始化 class Soap { private String s; Soap() { print

“全栈2019”Java第一百零六章:匿名内部类与抽象类接口注意事项

难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第一百零六章:匿名内部类与抽象类接口注意事项 下一章 "全栈2019"Java第一百零七章:匿名内部类与构造方法注意事项 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复&quo

[Effective Java]第七章 方法

第七章      方法 38.      检查参数的有效性 绝大多数方法和构造器对于传递给它们的参数值都会有某些限制.例如,索引值必须是非负的,对象引用不能为null等,这些都是常见的.你应该在文档中清楚地指明所有这些限制,并且在方法体的开头处检查参数,以强制施加这些限制. 应该在方法和构造器体前进行了参数的有效性检查,并且及时向外抛出适当的异常.如果方法没有检查它的参数,就有可能发生几种情形.该方法可能在处理过程中失败,并且产生令人费解的异常,更有可能,该方法可以正常返回,但是会悄悄地计算出错