博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oop_day02_类、重载_20150810
阅读量:4305 次
发布时间:2019-05-27

本文共 1804 字,大约阅读时间需要 6 分钟。

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

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

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

   2)用法:

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

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

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

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

总结:

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

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

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

        

你可能感兴趣的文章
cant connect to local MySQL server through socket /tmp/mysql.sock (2)
查看>>
vue中的状态管理 vuex store
查看>>
Maven之阿里云镜像仓库配置
查看>>
Maven:mirror和repository 区别
查看>>
微服务网关 Spring Cloud Gateway
查看>>
SpringCloud Feign的使用方式(一)
查看>>
SpringCloud Feign的使用方式(二)
查看>>
关于Vue-cli+ElementUI项目 打包时排除Vue和ElementUI
查看>>
Vue 路由懒加载根据根路由合并chunk块
查看>>
vue中 不更新视图 四种解决方法
查看>>
MySQL 查看执行计划
查看>>
OpenGL ES 3.0(四)图元、VBO、VAO
查看>>
OpenGL ES 3.0(五)纹理
查看>>
OpenGL ES 3.0(八)实现带水印的相机预览功能
查看>>
OpenGL ES 3.0(九)实现美颜相机功能
查看>>
FFmpeg 的介绍与使用
查看>>
Android 虚拟机简单介绍——ART、Dalvik、启动流程分析
查看>>
原理性地理解 Java 泛型中的 extends、super 及 Kotlin 的协变、逆变
查看>>
FFmpeg 是如何实现多态的?
查看>>
FFmpeg 源码分析 - avcodec_send_packet 和 avcodec_receive_frame
查看>>