- 浏览: 83683 次
文章分类
- 全部博客 (136)
- 我的技术资料收集 (98)
- 具体技术 (1)
- 的技术资料收集 (4)
- All Articles (1)
- 机器学习 Machine Learning (1)
- 网络编程 (1)
- java (2)
- ava (1)
- 零散技术 (1)
- C# (3)
- 技术资料收集 (1)
- CQRS (1)
- 数据库技术(MS SQL) (1)
- .Net微观世界 (1)
- Oracle SQL学习之路 (1)
- C/C++ (1)
- JS/JQ (1)
- Js封装的插件/实例/方法 (2)
- 敏捷个人 (2)
- Javascript (1)
- 程序设计---设计模式 (1)
- Bug (1)
- 未知分类 (1)
- 程序设计 (1)
- Sharepoint (1)
- Computer Graphic (1)
- IT产品 (1)
- [06]JS/jQuery (1)
- [07]Web开发 (1)
- .NET Solution (1)
- Android (3)
- 机器学习 (1)
- 系统框架设计 (1)
- Others (1)
- 算法 (1)
- 基于Oracle Logminer数据同步 (1)
- 网页设计 (1)
- 原创翻译 (1)
- EXTJS (1)
- Jqgrid (1)
- 云计算 (1)
最新评论
本篇笔记主要是成员变量、局部变量、构造器
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);
}
}
发表评论
-
C#WebBrowser控件使用教程与技巧收集--苏飞收集 - sufeinet
2013-06-28 12:07 1067原帖地址:http://www.cnblogs.com/suf ... -
我要喷一个自认为很垃圾的网站架构 - 老赵【苏州】
2013-06-28 12:01 1126原帖地址:http://www.cnblogs.com/lao ... -
[翻译] Oracle Database 12c 新特性Multitenant - Cheney Shue
2013-06-28 11:43 620原帖地址:http://www.cnblogs.com/ese ... -
memcahd 命令操作详解 - 阿正-WEB
2013-06-28 11:37 469原帖地址:http://www.cnblogs.com/azh ... -
面向过程的代码符合大众的思维方式吗? - 史蒂芬.王
2013-06-27 10:28 593原帖地址:http://www.cnblogs.com/ste ... -
面向过程的代码符合大众的思维方式吗? - 史蒂芬.王
2013-06-27 10:28 558原帖地址:http://www.cnblogs.com/ste ... -
RPG游戏之组队测试 - zthua
2013-06-27 10:22 557原帖地址:http://www.cnblogs.com/zth ... -
IT人们给个建议 - SOUTHER
2013-06-26 14:06 523原帖地址:http://www.cnblogs.com/sou ... -
Java向前引用容易出错的地方 - 银河使者
2013-06-26 14:00 492原帖地址:http://www.cnblogs.com/nok ... -
使用Func<T1, T2, TResult> 委托返回匿名对象 - 灰身
2013-06-26 13:54 800原帖地址:http://www.cnblo ... -
【web前端面试题整理03】来看一点CSS相关的吧 - 叶小钗
2013-06-25 10:45 783原帖地址:http://www.cnblogs.com/yex ... -
Windows 8 动手实验系列教程 实验6:设置和首选项 - zigzagPath
2013-06-25 10:27 618原帖地址:http://www.cnblogs.com/zig ... -
闲聊可穿戴设备 - shawn.xie
2013-06-25 10:21 562原帖地址:http://www.cnblo ... -
CentOS下Mysql安装教程 - 小学徒V
2013-06-23 15:24 608原帖地址:http://www.cnblogs.com/xia ... -
vmware安装ubuntu12.04嵌套安装xen server(实现嵌套虚拟化) - skyme
2013-06-23 15:18 836原帖地址:http://www.cnblogs.com/sky ... -
之前专门为IE6、7开发的网站如何迁移到IE10及可能遇到的问题和相应解决方案汇总 - 海之澜
2013-06-23 15:12 949原帖地址:http://www.cnblogs.com/wuz ... -
Android学习笔记--解析XML之SAX - 承香墨影
2013-06-23 15:01 407原帖地址:http://www.cnblo ... -
SQL Server 性能优化之——T-SQL TVF和标量函数
2013-06-19 09:32 670原帖地址:http://www.cnblogs.com/Boy ... -
Nginx学习笔记(二) Nginx--connection&request
2013-06-19 09:26 665原帖地址:http://www.cnblogs.com/cod ... -
从郭美美霸气侧漏看项目管理之项目经理防身术
2013-06-19 09:20 499原帖地址:http://www.cnblogs.com/had ...
相关推荐
- **局部变量**:在方法、构造器或块中定义的变量。 - **实例变量**:在类体中声明但位于任何方法之外的变量。 - **类变量(静态变量)**:用 `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集合框架是处理对象集合的重要工具,...