在第一个Java程序中已经提到一些基本的知识点,这里再补充几点。



1. 成员变量和局部变量的区别

  • 成员变量:成员变量定义在类中,默认初始值为0,定义时可以不初始化,在整个类中可见。

  • 局部变量:局部变量定义在方法中,无默认初始值,定义变量时要初始化,只在方法中可见。

  • 变量重名:在不同的方法中,局部变量可以重名。局部变量和成员变量可以重名,并且重名时局部变量优先级高。

2. 静态成员

  静态成员用修饰符static修饰,使用 static 可以修饰成员变量、方法和代码块。被类的所有对象所共享。静态变量也叫类变量,一旦初始化,其值就不能再改变。静态成员可以使用类名直接访问,也可以使用对象名进行访问。推荐使用类名直接访问。

3. 初始化块

我们知道构造方法在创建类对象时可以初始化成员变量,Java中,也可以用初始化块进行成员变量的初始化。格式如下:

   public class className{
Type Var1;
Type Var2;
static Type Var3;
……
//使用初始化块初始化成员变量
{
var1=value1;
var2=value2;
} //使用初始化块初始化静态成员变量
static{
var3=value3;
}
……
}

在类的声明中,可以包含多个初始化块,当创建类的实例时,就会依次执行这些代码块。如果使用static修饰初始化块,就称为静态初始化块。需要特别注意:静态初始化块只在类加载时执行,且只会执行一次(静态变量初始化后值不能再改变),同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。

4. foreach循环

foreach循环是一种加强的for循环,可以在不使用下标的情况下遍历数组。格式如下:

for(声明语句:数组名){
……
}

比如现有一个int型数组int[] array={0,1,2,3},想要依次打印数组元素,则可以按如下代码实现:

for(int x:array){
System.out.println(x);
}


Java补充内容的更多相关文章

  1. Java学习笔记16(面向对象九:补充内容)

    总是看到四种权限,这里做一个介绍: 最大权限是public,后面依次是protected,default,private private修饰的只在本类可以使用 public是最大权限,可以跨包使用,不 ...

  2. JVM 专题五:类加载子系统(三)补充内容

    3. 补充内容 3.1 在jvm中表示两个class对象是否为同一个类的两个必要条件 类的完整类名必须一致,包括包名. 加载这个类的ClassLoader(指ClassLoader实例对象)必须相同 ...

  3. Java开源内容管理CMS系统J4CMS的几个样式

    www.j4cms.com java 开源内容管理 页面直接编辑 bootstrap3 样式 default 样式 metro 样式 oschina 样式 leblog 样式 foundation 样 ...

  4. Python学习---JSON补充内容[中文编码 + dumps解析]

    JSON补充内容[微信解决中文乱码,接上] import json # 英文显示 dic = {"hello": "world"} str = json.dum ...

  5. 【转】JAVA输出内容打印到TXT以及不同系统中如何换行

    JAVA输出内容打印到TXT以及不同系统中如何换行 http://xiyang.09.blog.163.com/blog/static/59827615201172552755293/ 2011-08 ...

  6. 实验一补充内容 Java开发环境的熟悉-刘蔚然

    本次实验 PSP时间统计 步骤 耗时百分比 需求分析 5% 设计 10% 代码实现 67% 测试 15% 分析总结 3%

  7. java学习内容整理

    转自:http://www.cnblogs.com/caoleiCoding/p/6170555.html 首先,我个人比较推崇的学习方法是:先学java前段,也就是HTML,css,js,因为学习j ...

  8. Java异常内容总结

    在程序开发中,可能存在各种错误,有些错误是可以避免的,而有些错误却是意想不到的,在Java中把这些可能发生的错误称为异常. Throwable类是所有异常类的超类,该类的两个直接子类是Error和Ex ...

  9. Java文件内容的复制

    package a.ab; import java.io.*; public class FileReadWrite { public static void main(String[] args) ...

随机推荐

  1. Java8新特性--流(Stream)

    1.简介      Java 8是Java自Java 5(发布于2004年)之后的最重要的版本.这个版本包含语言.编译器.库.工具和JVM等方面的十多个新特性.在本文中我们一起来学习引入的一个新特性- ...

  2. vs2013 sn key

    BWG7X-J98B3-W34RT-33B3R-JVYW9  

  3. Python__组合数据类型

    组合数据:集合类型.序列类型(元组类型.列表类型).字典类型 集合: 定义:集合是多个元素的无序组合.(无序,唯一,Python中要求放入集合中的数据类型是不可变的). 集合用大括号 {}表示,元素间 ...

  4. google自定义广告系列

    Part1:说明 向网址添加参数以标识引荐流量的广告系列. 通过向在广告系列中使用的目标网址添加广告系列参数,您可以收集这些广告系列整体效果的相关信息,还可以了解广告系列在何处投放时效果更好.例如,您 ...

  5. 撩课-Java每天5道面试题第23天

    146.什么是Spring MVC ?简单介绍下你对springMVC的理解? Spring MVC是一个基于MVC架构的 用来简化web应用程序开发的应用开发框架, 它是Spring的一个模块, 无 ...

  6. Java 获取当前时间前一个小时的时间

    /** * 获取当前时间前一个小时的时间 */ public static void beforeOneHourToNowDate() { Calendar c = new Calendar.getI ...

  7. 设计模式学习——工厂模式(Factory Pattern)

    1.有一个工厂,专门生产不同品牌的汽车.当有人需要从此工厂提货的时候,只需要告诉他,要什么品牌的,就可以了,并不关心这些车是怎么生产出来的. 2.以上方式,如果增加品牌的时候,也要修改工厂,有点麻烦. ...

  8. 列表 enumerat 解包, 针对索引和元素

    dic = [1,2,3,4,5] for a,b in enumerate(dic): print(a,b) # a就是索引 b是元素

  9. [AMPPZ2014]Petrol

    关键点的最小生成树? 关键点初始化为0,跑多源最短路,然后重构整个图,用Kruskal跑最小生成树 然后跑树链剖分在线回答询问 对树上每个点维护到链顶的最大值,结合线段树可以做到\(\Theta(n ...

  10. AngularJS学习 之 安装

    1. 安装好Node.js 2. 安装好Git 3. 安装好Yeoman 以管理员身份打开cmd 输入 npm install -g yo 回车即可开始安装Yeoman,具体的安装行为最好看官网的介绍 ...