Java 类和Static关键字
类的定义
- 类的命名。首字母大写
- 大括号后面没有分号
成员变量
- Java会自动初始化成员变量但是不会自动初始化局部变量;
- 可以在定义成员变量是直接初始化,成员变量的作用范围在整个类体
对象的创建和引用的概念
- 在main函数里创建一个对象要使用new语句,new语句创造的东西都在堆内存中,因为堆内存可以动态分配。但是我们实际上是new了一个对该对象的引用变量(在栈内存),他指向堆内存中new出来的对象。堆内存中的对象才是真正的对象。这个引用和c/c++中的指针很类似。
- 用图说明

构造方法
- 构造方法没有返回值,且名字与类名相同,
- 当不写构造方法时,系统会自动添加一个默认构造方法。一旦定义了其他的构造方法,系统就不会添加默认构造方法。
方法重载
- 返回值和名字相同,参数类型或数目不同的两个或多个方法。且编译器不会混淆。
this关键字
- this一般出现在方法的定义中,对哪个对象调用该方法,this就指向这个对象。this是一个引用。可以处理形式参数和成员变量重名的情况:
class Test
{
int a;
int b;
Test(int a,int b) //参数和成员变量重名
{
this.a=a;
this.b=b;
}
}
static 关键字
- static变量存在数据区,哪怕不new对象,static变量也会在数据区存在一份。
- static声明的的变量是该类成员的公共变量。不单独属于某一个对象。只存在一份!
- 即便没有对象也可以用“类名.”来访问静态成员。
- main方法中的static的含义:不用new对象就可以执行main方法。
- 静态方法不能访问非静态成员,非静态成员只能new一个对象来访问。比如在main方法中调用一个类的非静态成员就会出错。
- 非静态方法是针对于每个对象进行调用,必须实例化类的一个对象才能调用非静态方法。
Java 类和Static关键字的更多相关文章
- (转)Java中的static关键字解析
转载: http://www.cnblogs.com/dolphin0520/p/3799052.html 一.static关键字的用途 在<Java编程思想>P86页有这样一段话: &q ...
- 关于Java中的static关键字
Java中的 static 关键字,确实是一个关键的字(key word),今天就来总结一下它的用法,说说为什么关键. Java中的 static 关键字主要是用来做内存管理的.理解了这句话才能够比较 ...
- Java中的static关键字解析
Java中的static关键字解析 static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一.下面就先讲述一下static关键 ...
- (转)Java中的static关键字解析
转自http://www.cnblogs.com/dolphin0520/p/3799052.html 一.static关键字的用途 在<Java编程思想>P86页有这样一段话: “sta ...
- Java中的static关键字解析 转载
原文链接:http://www.cnblogs.com/dolphin0520/p/3799052.html Java中的static关键字解析 static关键字是很多朋友在编写代码和阅读代码时碰到 ...
- Java中的static关键字解析(转自海子)__为什么main方法必须是static的,因为程序在执行main方法的时候没有创建任何对象,因此只有通过类名来访问。
Java中的static关键字解析 static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一.下面就先讲述一下static关键 ...
- Java中的static关键字
写在前面: 在Java中并不存在全局变量的概念,但是我们可以通过static来实现一个“伪全局”的概念,在Java中static表示“全局”或“静态”的意思,用来修饰成员变量和成员方法,当然也可以修饰 ...
- java中的static关键字详解
static对于我们这些初学者在编写代码和阅读代码是一个难以理解的关键字,也是大量公司面试题最喜欢考的之一.下面我就来就先讲述一下static关键字的用法和我们初学者容易误解的地方. static关键 ...
- 【Java学习笔记之十五】Java中的static关键字解析
Java中的static关键字解析 static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一.下面就先讲述一下static关键 ...
随机推荐
- js 中~~是什么意思?
其实是一种利用符号进行的类型转换,转换成数字类型 ~~true == 1~~false == 0~~"" == 0~~[] == 0 ~~undefined ==0~~!undef ...
- redis集群部署步骤
1.yum 安装依赖 yum install gcc unzip wget 2.编译安装redis,编译安装的目的是源码包内包含了接下来创建redis集群所需要的 redis-trib.rb脚本 ma ...
- composer 基本概念与常用命令总结
目录 composer 基本概念与常用命令总结 基本概念 软件安装 linux/mac安装 windows 配置镜像 如何使用 常用命令 全局参数 初始化 init 初始化参数 依赖安装 instal ...
- Python 1.1数字与字符基础
一. 基础数字操作 1.加减乘除以及内置函数: min(), max(), sum(), abs(), len() math库: math.pi math.e, math.si ...
- msys2-x86_64 Mingw64 编译openssl
windows 刚开始编译时提示找不到gcc 添加环境变量export PATH=$PATH:/mingw64/bin$source /etc/profile 将openssl源码复制到C:\msys ...
- 成都Uber优步司机奖励政策(1月15日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- dubbo之注册管理中心
一.在dubbo的框架中注册中心是必要的一个环节,这个也是分布式部署的一个必要环节.在dubbo的架构基本图中可以看出,基本上所有的服务都是通过注册中心进行注册,然后在通过注册中心,暴露出接口来. 二 ...
- dubbo之基础应用
一.Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合).从服务模型的角度来看,Dubbo采用的是一种非常简单 ...
- FreeRTOS信号量的封装函数参数是二级指针
1. 先看正确的封装方式,问题所在,为什么要用2级指针 void cissys_lockcreate(void** mutex) { //创建信号量,应该是互斥锁 *mutex = ((Semapho ...
- records_in_range start_key, end_key
select * from federatedTest where name='aaa';(gdb) p *start_key$2 = {key = 0x7f64f4103be8 "&quo ...