[javase学习笔记]-7.2 构造函数与一般函数的差别
这一节我们简单学习一下构造函数与一般函数之间的差别所在。
那么它们有什么差别呢,结合上一节,我们能够总结出下面两点差别:
第一个差别:
构造函数:对象创建时,就会调用与之相应的构造函数,对对象进行初始化。
一般函数:对象创建后。须要函数功能时,才调用函数。
这也就是说创建对象时,构造函数一定被调用。而一般函数不一定被调用。
第二个差别:
构造函数:对象创建时,会调用且仅仅调用一次。
一般函数:对象创建后,能够被调用多次。
简单看看演示样例:
class Person
{
private String name;
private int age; Person()
{
System.out.println("person run");
} public void speak()
{
System.out.println(name+":"+age);
}
}
class ConsDemo
{
public static void main(String[] args)
{
Person p = new Person();//此时调用了构造函数
p.speak();//调用两次speak方法
p.speak();
}
}
我们能够看到当创建一个对象p是。调用了Person类中的构造函数,并且是仅仅调用了一次。而对于一般方法speak方法。是我们在创建了对象之后,才调用,并且我们能够调用随意次娄。
[javase学习笔记]-7.2 构造函数与一般函数的差别的更多相关文章
- [javase学习笔记]-7.5 构造函数须要注意的几个细节
这一节我们简单的说几个在使用构造函数时须要注意的细节. 通过我们前几节的学习,我们对构造函数有了一个比較清楚的认识,当我们在创建对象时.我们会调用构造函数.那么我们在定义和调用构造函数时.须要注意哪些 ...
- javaSE学习笔记(16)---网络编程
javaSE学习笔记(16)---网络编程 基本概念 如今,计算机已经成为人们学习.工作.生活必不可少的工具.我们利用计算机可以和亲朋好友网上聊天,也可以玩网游.发邮件等等,这些功能实现都离不开计算机 ...
- JavaSE学习笔记(8)---常用类
JavaSE学习笔记(8)---常用类 1.Object类 java.lang.Object类是Java语言中的根类,即所有类的父类.它中描述的所有方法子类都可以使用.在对象实例化的时候,最终找的父类 ...
- JavaSE学习笔记(2)---面向对象基础
JavaSE学习笔记(2)---面向对象基础 1.面向对象具有三大特征:封装性.继承性和多态性,而面向过程没有继承性和多态性,并且面向过程的封装只是封装功能,而面向对象可以封装数据和功能.所以面向对象 ...
- javaSE学习笔记(17)---锁
javaSE学习笔记(17)---锁 Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率.本文旨在对锁相关源码(本文中的源码来自JDK 8).使用场景进行举例,为读 ...
- javaSE学习笔记(15) ---缓冲流、转换流、序列化流
javaSE学习笔记(15) ---缓冲流.转换流.序列化流 缓冲流 昨天复习了基本的一些流,作为IO流的入门,今天我们要见识一些更强大的流.比如能够高效读写的缓冲流,能够转换编码的转换流,能够持久化 ...
- JavaSE学习笔记(14)---File类和IO流(字节流和字符流)
JavaSE学习笔记(14)---File类和IO流(字节流和字符流) File类 概述 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建.查找和删除等操作. 构造方 ...
- JavaSE学习笔记(13)---线程池、Lambda表达式
JavaSE学习笔记(13)---线程池.Lambda表达式 1.等待唤醒机制 线程间通信 概念:多个线程在处理同一个资源,但是处理的动作(线程的任务)却不相同. 比如:线程A用来生成包子的,线程B用 ...
- JavaSE学习笔记(12)---线程
JavaSE学习笔记(12)---线程 多线程 并发与并行 并发:指两个或多个事件在同一个时间段内发生. 并行:指两个或多个事件在同一时刻发生(同时发生). 在操作系统中,安装了多个程序,并发指的是在 ...
随机推荐
- 解决Android Studio提示gradle project sync failed报错的解决方法
运行的时候报错,提示:gradle project sync failed 1.打开AS,切换到project目录结构依次进入目录app->gradle->gradle-wrapper.p ...
- Android Studio 之 打包项目生成APK
本文以使用Android Studio打包第一个apk的角度说明,打包APK分为两步:1生成 jks 密钥:2打包生成APK. 选择“ Build ”→选择“ Generate Signed APK. ...
- Centos7中ELK集群安装流程
Centos7中ELK集群安装流程 说明:三个版本必须相同,这里安装5.1版. 一.安装Elasticsearch5.1 hostnamectl set-hostname elk vim /e ...
- VirtualBox安装CentOS实现鼠标自动切换和复制粘贴
1. 输入命令: cd /media 2. 输入命令: sh VBoxLinuxAdditions.run 3. 可能会出现错误: 解决的办法是依次输入命令: yum install update y ...
- 《跟孩子学Python》
1:Python对象之间的赋值是内容赋值而不是引用赋值 a = ["aaa","bbb","ccc"] b = a print a prin ...
- static_cast<void>(0)的意义及NDEBUG assert的使用
查看ace代码时发现如下代码 #define ACE_TEST_ASSERT(X) \ ((X) \ ? static_cast<) \ : ACE_VERSIONED_NAMESPACE_NA ...
- 索引全扫描(INDEX FULL SCAN)
所谓的索引全扫描(INDEX FULL SCAN)就是指要扫描目标索引所有叶子块的所有索引行.这里需要注意的是,索引全扫描需要扫描目标索引的所有叶子块,但这并不意味着需要扫描该索引的所有分支块.在默认 ...
- Java通过Fork/Join来优化并行计算
Java代码: package Threads; import java.util.concurrent.ForkJoinPool; import java.util.concurrent.Recur ...
- Artistic Style在windows下的使用(C/C++)
ArtisticStyle是一个开源的源码格式化工具.主页地址为:http://astyle.sourceforge.net/,它能够应用在C.C++.Objective-C.C#.Java等程序语言 ...
- RabbitMQ学习笔记2-理解消息通信
消息包含两部分:1.有效载荷(payload) - 你想要传输的数据.2.标签(lable) - 描述有效载荷的相关信息,包含具体的交换器.消息的接受兴趣方等. rabbitmq的基础流程如下: Ra ...