码迷,mamicode.com
首页 > 其他好文 > 详细

oop_day02_类、重载_20150810

时间:2015-08-11 01:25:59      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:

oop_day02_类、重载_20150810


-----------回顾:------------------
1.猜字符小游戏
2.什么是类?什么是对象?
   1)现实世界是由很多很多对象组成的
      基于对象抽出了类
   2)对象是真正存在的单个的个体
      类代表一类个体,类型,类别
   3)类中包含:
      3.1)所有对象所共有的特征/属性---------变量
      3.2)所有对象所共有的行为----------------方法
   4)一个类可以创建多个对象
      同一个类的多个对象,结构相同,数据不同
   5)类是对象的模板,对象是类的具体的实例



------------------------------笔记:------------------------------------------
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.this关键字:


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

      方法中访问成员变量,默认有个this.

   2)用法:

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

      2.2)this.方法名()-------------调用方法(几乎不用)

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



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


总结:

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

      一个文件中可以包含多个类、public修饰的类只能有一个、public修饰的类必须与文件名相同

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

        



版权声明:本文为博主原创文章,未经博主允许不得转载。

oop_day02_类、重载_20150810

标签:

原文地址:http://blog.csdn.net/u011637069/article/details/47406675

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!