今天学习了类与对象,其中关于this关键字的用法,static静态变量与静态方法,以及引用传递需要特别注意一下。

首先是引用传递:

在本段程序中可以通过进行外部对类对象的属性赋值来更改,同时也可以通过外部方法来对类对象属性进行修改。最后的结果为:

值得注意的地方为:如果将temp的类型改为String类型,结果仍然被改变。String在堆空间内是无法被修改的,但是在类对象内,每次对属性的修改都会再次开辟新空间,如果仅仅在主方法内进行字符串的修改,其输出结果是不会有变化的:

下面为this关键字的使用方法:

1.表示类中的属性和调用方法。

2.调用本类中的构造方法。

3.表示当前对象。

例如在构造方法中

public people(String name,int age){

this.name = name;

this.age = age;

}

通过这种方法才可以达到赋值的目的,this来表示本类中的属性,没有this关键字则无法进行赋值。

用this关键字可以调用本类中的构造方法。

在上面的构造方法的基础上再添加一个无参数的构造方法。

public people(){

System.out.println("无参数构造函数");

}

想要在构造方法是调用此无参构造方法,需要将原构造方法改写为:

public people(String name,int age){

this();                                                    //一定要把调用写到最开始,否则编译错误

this.name = name;

this.age = age;

}

第三种用途就是用来表示当前对象:

Static关键字的使用:

被Static修饰的成员被称为静态成员,不用static修饰的叫做实例成员。

Static变量相当于全局变量,被保存在公共存储单元中,类中若含有static变量,必须要独立于方法之外。

与静态变量相同,用static修饰的方法是属于类的静态方法:

1.非static方法是属于某个对象的方法。static方法是属于整个类的,被所有对象共用。

2.static方法不能操纵和处理属于某个对象的成员,只能访问static成员变量或调用static成员方法,不能访问实例变量和实例方法。

3.在静态方法中不能使用this或super。

4.调用静态方法是,最好使用类名直接调用。

JAVA自学日记——Part Ⅱ的更多相关文章

  1. JAVA自学日记——Part Ⅲ

    终于来到了可视化窗口制作的部分了,从学习JAVA之前,到开始入手学习,一直到现在,都在盼望着有一天可以自己写出一款有界面而且是很美观的应用程序,今天算是一个真正开始的时间节点,值得纪念. 内容有很多, ...

  2. JAVA自学日记——Part Ⅰ.

    和C++比较相似,Java同样是面向对象的设计语言,在基础的语句上有一些不大的差别,经过两天的学习,大概的了解了在eclipse中如何进行简单的编程,解决一些简单的问题,诸如在学习C时做过的“字符串倒 ...

  3. 【转】JAVA自学之路

    JAVA自学之路 一: 学会选择 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3G.测试等. 那么究竟应该选择什么方向 ...

  4. Java自学之道全文下载地址

     道可道非常道,名可名非常名. Java自学之道博大精深,自己只是将理论和实际相结合,进行了简单总结. Java自学之道全文可在自己的博客下载 http://my.oschina.net/mkh/bl ...

  5. Java自学成长路线(转载)

    JAVA自学之路 一:学会选择  决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3G.测试等.  JAVA是一种平台,也是一种程序设计语言,如何学好程序设计不仅 ...

  6. JAVA自学笔记09

    JAVA自学笔记09 1.子类的方法会把父类的同名方法覆盖(重写) 2.final: 1)可修饰类.方法.变量 2)修饰类时:此时该类变为最终类,它将无法成为父类而被继承 3)修饰方法时:该方法将无法 ...

  7. JAVA自学笔记05

    JAVA自学笔记05 1.方法 1)方法就是完成特定功能的代码块,类似C语言中的函数. 2)格式: 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2,-){ 函数体; return ...

  8. JAVA自学笔记06

    JAVA自学笔记06 1.二维数组 1)格式: ①数据类型[][]数组名 = new 数据类型[m][n]; 或 数据类型[]数组名[]=new 数据类型[m][n]; m表示这个二维数组有多少个一维 ...

  9. JAVA自学笔记04

    JAVA自学笔记04 1.switch语句 1)格式:switch(表达式){ case 值1: 语句体1; break; case 值2: 语句体2; break; - default: 语句体n+ ...

随机推荐

  1. python爬虫-execjs使用

    python爬虫-execjs使用 ecexjs的作用 通过python代码去执行JavaScript代码的库 execjs的安装 pip install PyExecJS execjs使用之前,得先 ...

  2. Python2.7在Windows下CMD编码为65001/utf-8时print报错[Errno 0]/[Errno 2]

    使用python2.7处理unicode的字符串,环境变量已设置PYTHONIOENCODING为utf-8,cmd编码为utf-8时print unicode字符串会报错[Errno 0]或[Err ...

  3. mysql存储过程批量插入数据

    DROP TABLE IF EXISTS TeachersInfo; CREATE TABLE TeachersInfo ( id INT NOT NULL AUTO_INCREMENT, teach ...

  4. WPF不同线程之间的控件的访问

    原文:WPF不同线程之间的控件的访问 WPF不同线程之间的控件是不同访问的,为了能够访问其他线程之间的控件,需要用Dispatcher.Invoke执行一个新的活动即可. 例如: public voi ...

  5. 学习OpenCV——SVM

    学习OpenCV——SVM 学习SVM,首先通过http://zh.wikipedia.org/wiki/SVM, 再通过博客http://blog.csdn.net/yang_xian521/art ...

  6. 04-cookies 会话跟踪技术

    1.会话跟踪技术 1.Http协议的无状态保存 会话理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应 2 .会话路径技术使用Cookie或session完成 我们知道HTTP协 ...

  7. webstorm 使用svn

    webstorm 支持bootstrap 的class支持,比如 .text-center. 第一步:首先下载安装SVN服务器VisualSVN:附下载链接 https://sliksvn.com/d ...

  8. 【BZOJ3555】企鹅QQ

    蛤希. 用map会T. 只需要枚举删掉哪个字符,然后算出每个的hash值,sort一遍就行了. 用map会T!!! // It is made by XZZ #include<cstdio> ...

  9. HTML中内联元素与块状元素介绍

    常用的块级元素: address , center , div , dl ,, form , h1 , h2 , h3 , h4 , h5 , h6 , menu , ol , p , table , ...

  10. 复杂值vs原始值&&内存空间

    写在前面 最近在读<JavaScript启示录>,这本书不是JavaScript的详尽的参考指南,但是把对象作为了解JavaScript的透镜,受益匪浅. 那么我们先来聊一下JavaScr ...