- 浏览: 109050 次
- 性别:
- 来自: 昆明
文章分类
- 全部博客 (151)
- 120D02 (5)
- 直升机 (1)
- 我的技术资料收集 (82)
- 的技术资料收集 (4)
- .NET Solution (2)
- ASP.NET (1)
- Linq to sql (1)
- 数据库技术(MS SQL) (2)
- 架构/设计 (1)
- 敏捷/持续集成 (1)
- C#.NET开发 (1)
- Matlab开发 (1)
- WinForm开发 (1)
- 开源技术 (1)
- jQuery (1)
- 我的博文 (4)
- js (2)
- android (2)
- 9. 读书笔记 (1)
- CSS3 (1)
- HTML5 (1)
- JavaScript (5)
- 移动开发 (2)
- 编程心得 (1)
- Linux操作系统 (1)
- (BI)商业智能 (1)
- IOS (1)
- Windows Phone (2)
- C# API (1)
- JQuery系列 (1)
- TFS (1)
- C# (2)
- ExtJs (1)
- .NET (1)
- Nginx (1)
- WCF学习笔记 (1)
- Computer Graphic (1)
- IT产品 (1)
- 工具分享 (1)
- MySelf (1)
- C#专栏 (1)
- 管理 (1)
- 基于Oracle Logminer数据同步 (1)
- 日常 (1)
- 实用工具 (1)
- 网页设计 (1)
- avalon (1)
- flash (1)
- DDD (1)
- 01 技术Android (1)
- WCF (1)
- selenium (1)
最新评论
-
464410531:
三国杀。。。。。。。。。。。。。。。。。。。。。。。。。。。。 ...
实用的职场宝典:不提拔你,就因为你只想把工作做好
本篇笔记主要是成员变量、局部变量、构造器
1.成员变量和局部变量
1)成员变量:类范围内定义的变量
成员变量有(1)类Field(有static修饰的),从这个类的准备阶段开始存在到这个类被完全销毁
访问方式:类.类Field 或 实例.类Field
(2)实例Filed(没有static修饰的),从这个类的实例被创建开始存在,到这个实例被完全销毁
访问方式实例.实例Field
如果通过实例.类Field的方式来修改类Field的值,那么其它实例来访问这个类Field时也将获得这个被修改过的值。
eg:
package cn.it.lsl;
class Person{
public String name;
public static int age;
}
public class PersonTest {
public static void main(String[] args) {
System.out.println(Person.age); //类.类Field
Person p = new Person();
System.out.println(p.age); //实例.类Field
p.name = "张三";
p.age = 15;
System.out.println(p.name + "," + p.age);
System.out.println(Person.age);
//同一个类中的实例访问类Field的时候,实际上访问的是该类的同一个Field,即用一块内存区
Person p2 = new Person();
System.out.println(p2.age);
}
}
2)局部变量:方法里定义的变量
局部变量可以分为:形参,方法局部变量,代码块局部变量
在局部变量中,除了形参外,必须给方法布局变量和代码块局部变量指定初始化参数。
在方法里面,局部变量和成员变量可以同名,这样会导致局部变量覆盖成员变量,如果需要在方法里面调用被覆盖的成员变量,则可以使用this(实例Field)或类名(类Field)来作为调用者。
eg:
package cn.it.lsl;
public class Variable {
private String name = "zhangsan";
private static int age = 15;
public static void main(String[] args) {
// TODO Auto-generated method stub
int age = 16;
System.out.println(age);
System.out.println(Variable.age);
}
}
3)成员变量内存图
4)局部变量定义后,系统并未为这个变量分配内存块,直到等到程序为这个变量赋值的时候,系统才为局部变量分配内存空间。因为局部变量不属于任何类或者实例,所以它是被保存在方法的栈内存中的。
2.构造器
1)构造器用于在创建对象的时候进行初始化。如果程序中没有显示的提供任何构造器,那么系统会为该类提供一个默认的无参构造。
2)当程序中显示的提供了自定义的构造器了,那么系统就不会提供默认的构造器了。构造器可以重载,一个类中,有多个构造器,构造器的参数列表不同,就是构造器的重载。
3)如系统中有多个构造器,系统通过new关键字调用构造器时,系统将根据传入的实参列表来决定调用哪个构造器。
4)如果一个构造器执行体完全包含了另一个构造器执行体,可以通过this来调用相应的构造器。
使用this调用另一个构造器只能在构造器中使用,而且必须在构造器内第一条语句。系统会根据this后面参数列表来调用对应构造器。
package cn.it.lsl;
public class Constructor {
public String name;
public int age;
public String school;
public Constructor(){
}
public Constructor(String name, int age){
this.name = name;
this.age = age;
}
public Constructor(String name, int age, String school){
this(name,age);
this.school = school;
}
public static void main(String[] args){
Constructor c = new Constructor("zhasngan",15);
System.out.println(c.name);
System.out.println(c.age);
Constructor c1 = new Constructor();
System.out.println(c1.name);
System.out.println(c1.age);
Constructor c2 = new Constructor("zhasngan",15,"fj");
System.out.println(c2.name);
System.out.println(c2.age);
System.out.println(c2.school);
}
}
发表评论
-
Javascript:猜猜弹出的是啥?为啥? - 幸福框架
2013-06-28 13:33 430原帖地址:http://www.cnblogs.com/hap ... -
C#中WindowsForm常见控件的运用 -- - 李晓峰
2013-06-28 13:27 1747原帖地址:http://www.cnblogs.com/liy ... -
海量数据处理利器之Hash——在线邮件地址过滤 - MyDetail
2013-06-27 12:00 654原帖地址:http://www.cnblo ... -
ASP.NET MVC 4 for Visual Studio 2010 下载地址 - 张鸿伟
2013-06-27 11:48 754原帖地址:http://www.cnblogs.com/wei ... -
【ASP.NET Web API教程】6.2 ASP.NET Web API中的JSON和XML序列化 - r01cn
2013-06-26 11:00 919原帖地址:http://www.cnblogs.com/r01 ... -
[珠玑之椟]估算的应用与Little定律 - 五岳
2013-06-26 10:54 639原帖地址:http://www.cnblogs.com/wuy ... -
30行,金额转人民币大写的代码 - 史蒂芬.王
2013-06-26 10:42 1028原帖地址:http://www.cnblogs.com/ste ... -
从银行的钱荒看一个公司的团队建设 产品线过多最终导致最赚钱的项目面临破产 - James Li
2013-06-26 10:36 632原帖地址:http://www.cnblogs.com/Jam ... -
Windows 8 动手实验系列教程 实验6:设置和首选项 - zigzagPath
2013-06-25 13:39 535原帖地址:http://www.cnblogs.com/zig ... -
闲聊可穿戴设备 - shawn.xie
2013-06-25 13:33 616原帖地址:http://www.cnblo ... -
如何使用开源库,吐在VS2013发布之前,顺便介绍下VS2013的新特性"Bootstrap" - 量子计算机
2013-06-25 13:27 869原帖地址:http://www.cnblogs.com/DSh ... -
一步一步将自己的代码转换为观察者模式 - 文酱
2013-06-23 11:36 609原帖地址:http://www.cnblo ... -
iOS内存错误EXC_BAD_ACCESS的解决方法(message sent to deallocated instance) - VicStudio
2013-06-23 11:30 543原帖地址:http://www.cnblogs.com/vic ... -
记录asp.net在IE10下事件丢失排错经过 - Adming
2013-06-23 11:24 712原帖地址:http://www.cnblogs.com/wea ... -
记 FineUI 官方论坛所遭受的一次真实网络攻击!做一个像 ice 有道德的黑客! - 三生石上
2013-06-23 11:18 793原帖地址:http://www.cnblogs.com/san ... -
3、使用Oracle Logminer同步Demo
2013-06-19 10:33 571原帖地址:http://www.cnblogs.com/shi ... -
算法实践——数独的基本解法
2013-06-19 10:27 1450原帖地址:http://www.cnblogs.com/gre ... -
简单实现TCP下的大文件高效传输
2013-06-19 10:21 692原帖地址:http://www.cnblogs.com/sma ... -
avalon - 初步接触
2013-06-18 10:06 784原帖地址:http://www.cnblogs.com/aar ... -
Nginx学习笔记(一) Nginx架构
2013-06-18 09:59 529原帖地址:http://www.cnblogs.com/cod ...
相关推荐
- **局部变量**:在方法、构造器或块中定义的变量。 - **实例变量**:在类体中声明但位于任何方法之外的变量。 - **类变量(静态变量)**:用 `static` 关键字修饰的变量。 - **参数**:传递给方法或构造器的值。 #...
- **局部变量**:在方法、构造函数或块内声明的变量。 - **成员变量**:在类体中声明的变量。 ##### 4.2 操作符 Java支持多种操作符,包括算术操作符、比较操作符、逻辑操作符等。 ##### 4.3 数字类型之间的转换 ...
“尚硅谷JAVA基础笔记”涵盖了Java语言的基础知识,包括语言概述、基本语法、面向对象概念、封装、继承和多态,以及一些关键概念如形参与实参、属性与局部变量、构造器、this关键字、包和MVC设计模式的使用。...
"this"关键字在Java中用于引用当前对象,常用于构造器链、避免成员变量和局部变量的混淆,以及在匿名内部类中引用外部类的成员。这个PPT文件可能详细解释了this关键字的用法和应用场景。 3. **Execution_files** - ...
- 构造器用于初始化新创建的对象,不能被重写(override),但可以重载(overload)。 - 私有的构造器可以防止其他类实例化,通常在单例模式中使用。 6. **重载和重写**: - 重载发生在同一类中,方法名相同,但...
【Java笔记内容概览】 1. **基础语法**:涵盖变量、数据类型、运算符、流程控制(条件语句、循环语句)、数组、字符串等基础知识。 2. **面向对象**:讲解类、对象、封装、继承、多态等核心概念,以及构造函数、...
4. 构造器和实例化过程:讨论了继承中构造器的使用和对象实例化的步骤。 5. 访问控制修饰符:讲解了Java中不同访问修饰符的作用范围。 **Java高级特性** 1. JavaBean:介绍了JavaBean的概念及其使用场景。 2. ...
- 局部变量:存在于方法、构造器或块中,生命周期仅限于该方法、构造器或块的执行期间。局部变量必须在使用前初始化。 7. Java的命名规范: - 包名:所有字母小写,如`xxxyyyzzz`。 - 类名和接口名:每个单词首...
### 小码哥-任小龙Java笔记-面向对象的核心知识点 #### 一、面向对象基础概念 **1. 成员变量** - **定义位置**:成员变量定义在类中但不在任何方法内,分为类成员变量(使用`static`修饰)和实例成员变量(不使用...
韩顺平老师的Java笔记完整版应该涵盖了Java的基本概念、语法和核心特性。 1. **Java环境搭建**:学习Java首先需要安装Java Development Kit (JDK),配置好环境变量,包括JAVA_HOME、PATH和CLASSPATH,以便在命令行...
这份“个人java笔记”可能是某位开发者在学习或实践中积累的知识结晶,旨在帮助读者理解和掌握Java编程的基础及进阶概念。 Java的核心特性包括: 1. **面向对象**:Java基于面向对象编程(OOP)原则,支持类、接口...
- 变量的初始化总是在构造函数之前完成。 6. **集合Collection**: - Collection是Java集合框架的顶级接口,代表了一组独立的对象。 7. **迭代器Iterator**: - 迭代器是访问集合元素的标准方式,提供了`...
6. 构造器:构造器是特殊的方法,用于初始化新创建的对象。 7. 继承与多态:继承允许一个类(子类)继承另一个类(父类)的属性和方法。多态是对象的多种形态,允许子类对象替代父类对象。 8. 包(Package):包是...
- **Class类**:通过Class对象获取类的信息,如构造器、方法和字段。 - **动态调用方法**:在运行时动态地创建对象并调用其方法。 - **泛型擦除与反射**:理解泛型在编译后的表示及其与反射的关系。 6. **正则...
1. **设置Java环境变量**:为了运行Java程序,需要在计算机的系统环境变量中配置`JAVA_HOME`和`PATH`。`JAVA_HOME`应指向Java的安装目录,`PATH`应包含`JAVA_HOME/bin`,这样系统就能找到Java可执行文件。 2. **...
对象则是类的实例,通过构造器创建。 二、面向对象特性 1. 封装:隐藏内部实现细节,通过公共接口对外提供服务,提高代码安全性。 2. 继承:子类继承父类的属性和方法,实现代码复用,扩展新的功能。 3. 多态:...
以上内容是Java笔记中的核心部分,涵盖了从基础知识到进阶技术的多个层面。通过系统学习和实践,可以帮助开发者扎实地掌握Java编程,并具备解决实际问题的能力。在不断更新的技术环境中,Java依然保持着旺盛的生命力...
Java笔记整理(超详细) Java语言有哪些特点: 1. 简单易学 2. 面向对象(封装,继承,多态) 3. 平台无关性(Java虚拟机实现平台无关性) 4. 可靠性 5. 安全性 6. 支持多线程 7. 支持网络编程并且很方便 8. 编译...
2. **类与对象**:深入讲解类的构造器、访问修饰符、抽象类和接口、内部类以及如何创建和使用对象。可能还包括异常处理机制,这是编写健壮代码的关键。 3. **集合框架**:Java集合框架是处理对象集合的重要工具,...