在第一个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. oracle存储过程删除树状结构的表数据

    今天在删除一个车辆品牌表的时候,遇到了一个问题,是在java的代码中做逻辑删除还是直接在Oracle中一次删除完成呢 思来想去觉得还是在sql里直接删除比较合适, 为什么呢? 第一,涉及数据库的读写操 ...

  2. 怎么掌握微信小程序的取值、传值、数据存储

    小程序界面设定如下 父级页面:A界面 子级页面:B界面 异级页面:C界面 一.本页面取值(A界面→A界面) a.例如:input输入文字获取到value(键盘输入时触发) wxml: <inpu ...

  3. IOS第三方之MBProgressHUD

    // // ViewController.m // MBProgressHUD // // Created by City--Online on 15/6/15. // Copyright (c) 2 ...

  4. sql 等额本息

    /* 等额本息计算还款额 a 贷款总额 b 月利率 m 贷款月数 */ execute block returns (result double precision) as declare a ; - ...

  5. 小白学习之Code First(二)

    Code First约定: 注:EDMX模板 (SSDL:存储模型=>数据库表 ,CSDL:概念模型=>实体,C-S模型=>存储和概念模型之间的映射关系) System.Data.E ...

  6. Css3不透明

    Css3允许你使用opacity(不透明)属性设置元素的不透明度 实例: <img src="1.jpg" alt=“view”> img{ opacity:0.45: ...

  7. c#Image.FromFile图形加载异常处理

    public void UpdateImg(string picpath) { //更新至控件中 PnlImageShow.BackgroundImage = LoadImgPath(picpath) ...

  8. 海量数据中找出前k大数(topk问题)

    海量数据中找出前k大数(topk问题) 前两天面试3面学长问我的这个问题(想说TEG的3个面试学长都是好和蔼,希望能完成最后一面,各方面原因造成我无比想去鹅场的心已经按捺不住了),这个问题还是建立最小 ...

  9. Notepad++去除COPY代码行号的几种方法

    解2:打开 Notepad++,按住 Alt,鼠标点击拖出选择框,这个是列选 方法,相当拉风: 效果图如下

  10. centos 删除文件和目录

    每次都记不住,发个文章记录一下.直接rm就可以了,不过要加两个参数-rf 即:rm -rf 目录名字-r 就是向下递归,不管有多少级目录,一并删除-f 就是直接强行删除,不作任何提示的意思 删除文件夹 ...