Java Day 07
构造函数
函数名与类名相同
不用定义返回值类型
没有具体的返回值
作用:给对象初始化值
默认构造函数
如果没有自己定义构造函数,系统会自动生成;
如果定义了,则默认构造函数不会自动生成。
构造函数与一般函数区别
1、构造函数在创建对象时,就会调用,并初始化
一般函数是创建对象后,使用时才会去调用
2、构造函数只会创建对象时调用一次
一般函数按需调用
重载
函数名相同,参数个数和类型不同
内存图解
函数进栈
构造函数细节
1、一般函数不能调用构造函数
2、函数名称,构造函数与类名相同,一般函数首字母小写
3、写个return
this关键字
成员变量和局部变量重名时,使用this进行区分
this应用
构造函数相互调用//this(name) 必须放在第一行
类的所有成员调用必须有引用变量
本类中调用本类,也要用到this
static关键字--数据共享
特点:
1、被所有对象共享
2、可以直接被类调用//类名.静态成员
3、优先于对象存在
成员变量与静态变量的区别
成员变量、实例变量
静态变量、类变量
1、作用域不同
2、存储位置不同,成员变量存储在堆内存的对象中
静态变量数据存储在方法区的静态区,
static关键字注意事项
1、静态方法只能访问静态成员
2、静态方法中不可以使用this、super关键字
3、主函数时静态的
主函数
new String[0]
static 图解--重要
非静态区:类、构造函数
静态区:main
栈
static应用
静态代码块
static{ } //只会加载一次
给类进行初始化
构造代码块
类中的代码块,可以给所有对象进行初始化
构造函数,给对应的对象进行针对性的初始化
初始化顺序
例:静态代码块 > 构造代码块 > 构造函数
Java Day 07的更多相关文章
- 027 01 Android 零基础入门 01 Java基础语法 03 Java运算符 07 逻辑“与”运算符
027 01 Android 零基础入门 01 Java基础语法 03 Java运算符 07 逻辑"与"运算符 本文知识点:Java中的逻辑"与"运算符 逻辑运 ...
- Java(07)转化流
查看API得知: public class OutputStreamWriter extends Writer public class InputStreamReader extends Reade ...
- Java设计模式07:常用设计模式之装饰器模式(结构型模式)
1. Java之装饰器模式(Decorator Pattern) (1)概述: 装饰模式在Java种使用也很广泛,比如我们在重新定义按钮.对话框等时候,实际上已经在使用装饰模式了.在不必改变原 ...
- GUI编程笔记(java)07:GUI把文本框的值移到文本域案例
1.首先我们了解一下我们的需求,如下: 输入“风清扬”,点击“数据转移”,这样的文本会出现到下面的文本域中,这就是我们的需求. 2.代码如下: package cn.itcast_05; import ...
- Java基础07 包
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 我们已经写了一些Java程序.之前的每个Java程序都被保存为一个文件,比如Tes ...
- Java面试07|Redis数据库
1.Redis持久化的几种方式 (1)RDB(Redis DataBase)持久化 (2)AOF(Append Only File)持久化 2.Redis的缓存失效策略 主要涉及到expire对主键过 ...
- java基础07 多线程
在学习操作系统时,我们会学习进程和线程,那么进程和线程又是什么东西呢? 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位. 线程(thread) ...
- 带着新人看java虚拟机07(多线程篇)
这一篇说一下比较枯燥的东西,为什么说枯燥呢,因为我写这都感觉很无聊,无非就是几个阻塞线程的方法和唤醒线程的方法... 1.线程中断 首先我们说一说怎么使得一个正在运行中的线程进入阻塞状态,这也叫做线程 ...
- Java笔记 #07# Hibernate Validator
Hibernate Validator是Spring Boot默认附带的标准校验API(javax.validation)实现. 应用实例(配合切面) 采用注解定义切面.java @Aspect @C ...
- Java第07次实验提纲(异常)
PTA与参考资料 题集:集合 异常实验文件 第1次实验 1.1 7-1 常用异常 如何进行强制转换.父类型转化为子类型常见错误. 如何捕获多种类型的异常 简要输出异常信息,System.out.pri ...
随机推荐
- form 表单默认的提示
<form method="get" action="" class="form"> <input type ...
- 使用扩展方法(this 扩展类型)
namespace ConsoleApp_UseExtendWays{ class Program { static void Main(string[] args) { Student s = ne ...
- How to index email and attachments in nsf files?
My colleague she ask me why Intella could not handle Lotus Notes nsf e-mail archive files. I told he ...
- 三国塔防游戏android源码
三国塔防游戏源码,这个游戏源码比较完整的,因为上传有20M限制,把代码工程包分开了,主文件是TFGame,其他res大家按照安卓包加进去就行,欢迎下载并交流 ,大家可以参考一下吧.<ignore ...
- sublime text2支持ng
这里面记录了sublime text3的一些破解和sublime text2支持ng的方法. http://weblogs.asp.net/dwahlin/archive/2013/08/30/usi ...
- bootstrap中弹出窗体dialog的自定义
感谢nakupanda的https://github.com/nakupanda/bootstrap3-dialog 根据需要弹出窗体,但是可以移动,不遮挡下面的内容,所以就修改了源代码,添加了一个属 ...
- partial class 说明
C# 2.0 可以将类.结构或接口的定义拆分到两个或多个源文件中,在类声明前添加partial关键字即可. 例如:下面的PartialTest类 class PartialTest { string ...
- sqoop简单import使用
一.sqoop作用? sqoop是一个数据交换工具,最常用的两个工具是导入导出. 导入导出的参照物是hadoop,向hadoop导数据就是导入. 二.sqoop的版本? sqoop目前有两个版本,1. ...
- xcode编译错误总结
No architectures to compile for(ONLY_ACTIVE_ARCH=YES 这种错误 修改building settings下 Build Active Archi ...
- Vmware为Ubuntu安装VmTools
From:http://www.cnblogs.com/killerlegend/p/3632443.html Author:KillerLegend 1:首先打开Vmware并运行里面的Ubuntu ...