java笔记4
private关键字
1.是一个权限修饰符。
2.用于修饰成员
3.被私有化的成员只能在本类中有效
常用之一:
-将成员变量私有化,对外提供对应的set,get方法对其进行访问,提高对数据访问的安全性。
构造函数:
特点:
1.函数名和类名相同
2.没有返回值类型,连void都没有
3.没有具体的返回值
注意:
1.如果你不提供构造方法,系统会默认给出构造方法;
2.如果你提供了构造方法,系统将不再提供;
3.构造条件可以重载的,重载条件与普通方法相同
this关键字:
this :代表在类的对象引用
方法被哪个对象调用,this就代表那个对象
什么时候使用this呢?
局部变量和成员变量重名
static 关键字:
特点:
1.static是一个修饰符,用来修饰成员变量
2.static修饰的成员是被多个对象共享的,修饰的数据就成为了共享数据
3.static修饰的成员,优于对象先存在计算机内存中的,随着类的加载而存在
4.多了一种调用方式,类名.成员
成员变量与静态变量区别?
1.存储位置不同
成员变量存在堆内存中
静态变量存在静态代码区
2.调用方式不同
成员变量是通过对象,成员来调用
静态变量可以通过对象,类名来调用
3.生命周期不同
成员变量存随呃呃对象的产生而产生
静态变量存在静态代码区
4.别名不同
成员变量也叫实例变量
静态变量也叫类变量
注意:
1.静态成员只能访问静态成员(费静态成员既都可以访问)
2.静态方法中不能有this与super
单例设计模式
怎么保证对象只有一个呢?
1.不能让别人new对象(加private)
2.对外提供一个公共方法,供别人调用来完成创建对象这个操作
3.在本类中创建一个本类的实例(即没有调用这个对象就创建了)//立即加载
代码块
1.构造代码块
2.静态代码块
3.局部代码块
4.构造函数
局部代码块:特点以{}划定代码区域,此时只需要关注作用域的不同即可
构造代码块:定义在类中成员位置的代码块
特点:优先于构造方法执行,构造代码块用于执行所有对象均需要的初始化动作,每创建一个对象均会执行一次构造代码块
静态代码块:定义在成员位置,使用static修饰的代码块
特点:它优先于主方法执行,优先于构造代码块执行,当以任意形式第一次使用到该类时执行。该类不管创建多少对象,静态代码块只执行一次,可用于给变量赋值,用来给类进行初始化。
java笔记4的更多相关文章
- Effective Java笔记一 创建和销毁对象
Effective Java笔记一 创建和销毁对象 第1条 考虑用静态工厂方法代替构造器 第2条 遇到多个构造器参数时要考虑用构建器 第3条 用私有构造器或者枚举类型强化Singleton属性 第4条 ...
- java笔记00-目录
--2013年7月26日17:49:59 学习java已久,趁最近有空,写一个总结: java笔记01-反射:
- java笔记整理
Java 笔记整理 包含内容 Unix Java 基础, 数据库(Oracle jdbc Hibernate pl/sql), web, JSP, Struts, Ajax Spring, E ...
- 转 Java笔记:Java内存模型
Java笔记:Java内存模型 2014.04.09 | Comments 1. 基本概念 <深入理解Java内存模型>详细讲解了java的内存模型,这里对其中的一些基本概念做个简单的笔记 ...
- servlet(6) - servlet总结 - 小易Java笔记
垂阅前必看: 这都是我总结的我觉得是学习servlet应该掌握的,我在学习期间也做了一个博客项目来让所学的知识得以巩固.下面就是博客项目链接.前面的servlet相关的笔记总汇,还有就是我把觉得在学习 ...
- Java笔记 —— 继承
Java笔记 -- 继承 h2{ color: #4ABCDE; } a{ text-decoration: none!important; } a:hover{ color: red !import ...
- Java笔记 —— 方法重载和方法重写
Java笔记 -- 方法重载和方法重写 h2{ color: #4ABCDE; } a{ text-decoration: none !important; } a:hover{ color: red ...
- Java笔记 —— 初始化
Java笔记 -- 初始化 h2{ color: #4ABCDE; } a{ text-decoration: none !important; } a:hover{ color: red !impo ...
- Java笔记 —— this 关键字
Java笔记 -- this 关键字 h2{ color: #4ABCDE; } a{ color: blue; text-decoration: none; } a:hover{ color: re ...
- Java 笔记 —— java 和 javac
Java 笔记 -- java 和 javac h2{ color: #4ABCDE; } a{ text-decoration: none !important; } a:hover{ color: ...
随机推荐
- 安装python问题
configure: error: in `/home/wangqianqian/Desktop/Python-3.6.7':configure: error: no acceptable C com ...
- 洛谷 P4281 [AHOI2008] 紧急集合 题解
挺好的一道题,本身不难,就把求两个点的LCA变为求三个点两两求LCA,不重合的点才是最优解.值得一提的是,最后对答案的处理运用差分的思想:假设两点 一点深度为d1,另一点 深度为d2,它们LCA深度为 ...
- 【批处理】set命令
原文地址:https://www.cnblogs.com/Braveliu/p/5081084.html [1]set命令简介 set,设置. [2]set命令使用 1. 打印系统环境变量.set命令 ...
- ubuntu 基于windows
windows10下的ubuntu子系统 wsl windows server linux ubuntu在微软商店可下载,安装好之后配置一个用户名和密码,默认的root用户时没有密码的.需要使用roo ...
- 浅谈 Miller-Robbin 与 Pollard Rho
前言 $Miller-Robbin$ 与 $Pollard Rho$ 虽然都是随机算法,不过用起来是真的爽. $Miller Rabin$ 算法是一种高效的质数判断方法.虽然是一种不确定的质数判断法, ...
- MySQL 自动插入、更新时间戳
在 MySql 中,要做到自动出入当前时间戳,只要在定义表格时将字段的默认值设置为 CURRENT_TIMESTAMP 即可. 如: create table if not exists my_tab ...
- Edusoho之X-Auth-Token
昨天这篇文章Edusoho之Basic Authentication提到了X-Auth-Token.今天我主要讲的是Edusoho之X-Auth-Token的请求API方式. 至于为什么建议不要用HT ...
- rust控制流
fn main() { let number = 6; if number % 4 == 0 { println!("number is divisible by 4"); } e ...
- Server concepts 详解
server status 是由 vm_state和task_state 计算出来的,vm_state是虚机当前的稳定状态(例如Active, Error),task_state是虚机当前的瞬间状态( ...
- Pygame 贪吃蛇
目录 代码 遇到的问题 参考 代码 #-*-encoding=utf-8-*- # Wormy(a Nibbles clone) # By Al Sweigart al@inventwithpytho ...