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 ...
随机推荐
- 八、Linux下的网络服务器模型
服务器设计技术有很多,按使用的协议来分有TCP服务器和UDP服务器,按处理方式来分有循环服务器和并发服务器. 在网络程序里面,一般来说都是许多客户对应一个服务器,为了处理客户的请求,对服务端的程序就提 ...
- 关于module_param()宏
在用户态下编程可以通过main()的来传递命令行参数,而编写一个内核模块则通过module_param () module_param宏是Linux 2.6内核中新增的,该宏被定义在include/l ...
- 【linux】Ubuntu 14.04 smba服务器的配置
SMB(Server Messages Block,信息服务块)是为了在ubuntu虚拟机与windows之间共享文件. 具体配置过程如下: (1)安装SMB应用 sudo apt-get in ...
- Android的Intent作用
Android应用程序中有三个核心组件Activity.Services.Broadcast Receiver. Intent 提供应用程序之间的的交互机制,负责对一次操作的动作,动作涉及的数据,附加 ...
- ASP.NET数据控件
数据服务器控件就是能够显示数据的控件,与那些简单格式的列表控件不同,这些控件不但提供显示数据的丰富界面(可以显示多行多列数据并根据用户定义来显示),还提供了修改.删除和插入数据的接口. ASP.NET ...
- openstack简介
OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作.OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单.可大规模扩展.丰富.标准统一的云计算管理平台 ...
- wordpress代理设置
打开wp-config.php,在页首加上以下语句: define('WP_PROXY_HOST', '192.168.84.101'); define('WP_PROXY_PORT', '8080' ...
- always pick the choice that scares you a little
“One of my philosophies is to always pick the choice that scares you a little. The status quo, the p ...
- SQLServer附加数据库5120错误
装有MSSQL的电脑 需要附加的数据库文件(*.mdf)及其日志文件(*.ldf) 1. 打开SQL Server Management Studio,并连接上数据库.右键"数据库" ...
- linux中的虚拟化网络模型及各种模型实现
第一种隔离模型: Guest1和Guest2都为虚拟机. 首先要了解在linux中的虚拟机的网卡都包含前半段和后半段,前半段在虚拟机上,后半段在宿主机上,这里以centos6为例,上图 eth0为Gu ...