oop_day02_类、重载_20150810

1.怎样创建类?怎样创建对象?

2.引用类型之间画等号: 家门钥匙

1)指向同一个对象(数据有一份)

2)对当中一个引用的改动。会影响另外一个引用

基本类型之间画等号: 身份征复印件

1)赋值(数据有两份)

2)对当中一个值的改动,不会影响另外一个值

内存图:

基本类型和引用类型在内存中存储

基本类型画等号

引用类型画等号

3.null:

1)空,即:不再指向不论什么对象

2)若引用的值为null。则不能再进行不论什么操作了

若操作则NullPointerException(空指针异常)

内存图:

Null和NullPointerException

演示样例代码:

package oo.day02;

public class Demo {
public static void main(String[] args) {
/*
Cell c = new Cell();
Cell cc = c; //指向同一个对象
cc.row = 5;
c.row = 8;
System.out.println(cc.row); //8 int num = 8;
int num2 = num; //赋值
num2 = 88;
System.out.println(num); //8
*/ /*
Cell c = new Cell();
c.row = 2;
System.out.println(c.row);
c = null; //空,不再指向不论什么对象
System.out.println(c.row); //空指针异常(NullPointerException)
*/ }
}

4.方法签名=方法名+參数列表

5.方法的重载(overload):

1)一个类中,方法名称同样,參数列表不同,称方法的重载

2)编译器在编译时,自己主动依据方法的签名绑定调用不同的方法



演示样例代码:

package oo.day02;
/*
* 1.一个文件里能够包括多个类
* 2.public修饰的类仅仅能有一个
* 3.public修饰的类必须与文件名称同样
*/
//重载的演示
public class OverloadDemo {
public static void main(String[] args) {
Aoo o = new Aoo();
o.say();
o.say("zhangsan");
o.say(23);
o.say("zhangsan", 23);
o.say(23, "zhangsan");
}
} class Aoo{
void say(){}
void say(String name){}
void say(int age){}
void say(String name,int age){}
void say(int age,String name){} //int say(){ return 5;} //编译错误。与返回值类型无关
//void say(String address){} //编译错误,与參数名无关
}

6.构造方法:

1)给成员变量赋初值

2)与类同名,没有返回值类型

3)在创建(new)对象时被自己主动调用

4)若自己不写构造,则系统默认提供一个无參构造

若自己写构造,则不再默认提供

5)构造方法能够重载

7.thiskeyword:

1)指代当前对象,哪个对象调指的就是哪个对象

方法中訪问成员变量。默认有个this.

2)使用方法:

2.1)this.成员变量名---------訪问成员变量

2.2)this.方法名()-------------调用方法(差点儿不用)

2.3)this()-----------------------调用构造方法

--------------------------------------------------------------------------------------------------------

总结:

      方法的重载与方法名和參数列表有关。构造方法的重载也是一样。

      一个文件里能够包括多个类、public修饰的类仅仅能有一个、public修饰的类必须与文件名称同样

        this指代当前对象,哪个对象调指的就是哪个对象

最新文章

  1. JSP 基础概念归纳 5分钟看完
  2. 认识Swift
  3. regsvr32 注册.dll的用法
  4. Android Service 服务(一)—— Service .
  5. js中constructor的作用
  6. LintCode-两数之和
  7. javascript中常用坐标属性offset、scroll、client
  8. 如何创建自定义ASP.NET MVC5脚手架模板?
  9. white-space详解
  10. jumpserver篇--安装(高可用性 mariadb+haproxy)
  11. 【学习】数据处理基础知识(缺失值处理)【pandas】
  12. VMWAR-workstatuon : 安装win10、server 2008 r2、server 2012 r2
  13. postman6 在Linux中,body和response字体显示不正常的解决方法
  14. ant__property标签的含义与使用
  15. SQL注入之Sqli-labs系列第三十三关(基于宽字符逃逸注入)
  16. linux服务器上安装python 3.6.3
  17. gluster 卷的类型及创建方法
  18. Win10系列:C#应用控件基础4
  19. Mysql的基本操作(一)增、删、改
  20. maven快速入门之安装

热门文章

  1. jquery ajax在IE9以下进行跨域请求时无效的问题
  2. html中保证中文能够正常显示
  3. js 学习笔记---BOM
  4. 正则表达式提取String子串
  5. Redis系列(一)StackExchange.Redis的使用
  6. GNSS数据下载网站
  7. Centos6.6 安装rsync服务端
  8. C# 金钱添加逗号0000
  9. SQL几种常用的函数
  10. AcDbTable 类