一、  构造函数

/*
一个函数中定义的变量必须要初始化,否则编译会报错
一个类中的数据成员
1、 如果在定义的时候不初始化,则它的值是系统自动分配好的默认值! 如int型为零 boolean型是false
如本程序的A类对象就是这样 2、 如果在定义的同时赋初值, 则是可以的,也就是说该值是生效的.注意在C++中则不可以,在C++中一个类的数据成员不能在定义的同时初始化,它只能在构造函数中初始化
如本程序的A类对象就是这样 3、 如果在定义的同时赋初值,当然生效,但如果在构造函数中又改变了定义时赋的初值,
则该数据成员最终的值就是构造函数中修改之后的那个值,因为:
系统会先执行定义时赋的初值,然后再执行构造函数中赋的初值
如本程序的B类对象就是这样
*/ class A
{
int i;
int j = 10;
boolean flag; void show()
{
System.out.println("i = " + i);
System.out.println("j = " + j);
System.out.println("flag = " + flag);
}
} class B
{
int i;
int j = 10;
boolean flag; public B()
{
System.out.println("以前的值是 " + i + " " + j + " " + flag); i = 88;
j = 88;
flag = true;
} void show()
{
System.out.println("i = " + i);
System.out.println("j = " + j);
System.out.println("flag = " + flag);
}
} class TestConst_3
{
public static void main(String[] args)
{
A aa1 = new A();
aa1.show(); B bb1 = new B();
bb1.show();
}
}
/*
在j2sdk1.4.2_16中的运行结果是:
--------------
i = 0
j = 10
flag = false
以前的值是 0 10 false
i = 88
j = 88
flag = true
--------------
*/

二、  this关键字

/*
关键字this:
1,在普通方法中,关键字this代表方法的调用者,即本次调用了该方法的对象
2,在构造方法中,关键字this代表了该方法本次运行所创建的那个新对象
*/ class A
{
private int i;
public A(int i)
{
this.i = i; //将形参 i 赋给该构造方法本次运行所创建的那个新对象的i数据成员
}
public void show(){
System.out.println("i = " + this.i);
//this表示当前时刻正在调用show方法的对象
//this可以省略
}
} public class TestThis
{
public static void main(String[] args){
A aa1 = new A(100);
aa1.show(); A aa2 = new A(200);
aa2.show();
}
}

  

Java构造函数和this关键字的更多相关文章

  1. (转)Java中的static关键字解析

    转载: http://www.cnblogs.com/dolphin0520/p/3799052.html 一.static关键字的用途 在<Java编程思想>P86页有这样一段话: &q ...

  2. 关于Java中的final关键字

    Java中的final关键字是用来限制用户行为的,说白了,就是用来限制我们这些程序员的.final可以用来修饰:变量.方法.类. 1)Java final variable final用来修饰变量时, ...

  3. 关于Java中的static关键字

    Java中的 static 关键字,确实是一个关键的字(key word),今天就来总结一下它的用法,说说为什么关键. Java中的 static 关键字主要是用来做内存管理的.理解了这句话才能够比较 ...

  4. Java中的static关键字解析(转自海子)__为什么main方法必须是static的,因为程序在执行main方法的时候没有创建任何对象,因此只有通过类名来访问。

    Java中的static关键字解析 static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一.下面就先讲述一下static关键 ...

  5. 浅谈Java中的final关键字

    浅谈Java中的final关键字 谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来 ...

  6. java 轻量级同步volatile关键字简介与可见性有序性与synchronized区别 多线程中篇(十二)

    概念 JMM规范解决了线程安全的问题,主要三个方面:原子性.可见性.有序性,借助于synchronized关键字体现,可以有效地保障线程安全(前提是你正确运用) 之前说过,这三个特性并不一定需要全部同 ...

  7. 【java中的final关键字】

    转自:https://www.cnblogs.com/xiaoxi/p/6392154.html 一.final关键字的基本用法 在Java中,final关键字可以用来修饰类.方法和变量(包括成员变量 ...

  8. java并发系列(六)-----Java并发:volatile关键字解析

    在 Java 并发编程中,要想使并发程序能够正确地执行,必须要保证三条原则,即:原子性.可见性和有序性.只要有一条原则没有被保证,就有可能会导致程序运行不正确.volatile关键字 被用来保证可见性 ...

  9. java oop 修饰符&关键字

    一.修饰符 Java中四种访问权限修饰符: private 缺省(default) protected public 修饰类的成员,用来限定对象对该类成员的访问权限. 修饰符 类内部 同一个包 不同包 ...

随机推荐

  1. LeetCode——Move Zeroes

    Description: Given an array nums, write a function to move all 0's to the end of it while maintainin ...

  2. Android 判断当前是否在跑monkey测试

    /**     * Returns true if Monkey is running.     */    public static boolean isMonkeyRunning() {     ...

  3. jstl标签怎么实现分页中下一页

    <script type="text/javascript">           //分页按钮处理        function goPageAction(page ...

  4. 【BZOJ1269/1507】[AHOI2006]文本编辑器editor Splay

    [BZOJ1269][AHOI2006]文本编辑器editor Description 这些日子,可可不和卡卡一起玩了,原来可可正废寝忘食的想做一个简单而高效的文本编辑器.你能帮助他吗?为了明确任务目 ...

  5. linux本机root账户无法登录,但是远程ssh可登录

    1.故障状态 a.linux本机root账户无法登录(root和密码无误的情况下也无法登录,但是用远程ssh软件可以登录) b.查看/var/log/secure登录日志(提示无法找到pam_limi ...

  6. Oracle数据库误删文件导致rman备份报错RMAN-06169解决办法

    Oracle数据库误删文件导致rman备份报错RMAN-06169解决办法 可能是误删文件导致在使用rman备份时候出现以下提示 RMAN-06169: could not read file hea ...

  7. Code Forces 652D Nested Segments(离散化+树状数组)

     Nested Segments time limit per test 2 seconds memory limit per test 256 megabytes input standard in ...

  8. 磁盘 I/O 性能监控的指标

    指标 1:每秒 I/O 数(IOPS 或 tps) 对于磁盘来说,一次磁盘的连续读或者连续写称为一次磁盘 I/O, 磁盘的 IOPS 就是每秒磁盘连续读次数和连续写次数之和.当传输小块不连续数据时,该 ...

  9. using the library to generate a dynamic SELECT or DELETE statement mysqlbaits xml配置文件 与 sql构造器 对比

    https://github.com/mybatis/mybatis-dynamic-sql MyBatis Dynamic SQL     What Is This? This library is ...

  10. DevOps 创建pipline报错:The value specified for SourceVersion is not a valid commit ID

    报错内容 The value specified for SourceVersion is not a valid commit ID 解决 官方给出的解答: Thank you for your f ...