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指代当前对象,哪个对象调指的就是哪个对象

oop_day02_类、重载_20150810的更多相关文章

  1. ostream类重载的operator<<()函数

    ostream类重载了operator<<()以识别不同的类型,如: int short  long unsigned int unsigned short unsigned long f ...

  2. C++重载运算符练习--对people类重载“= =”运算符和“=”运算符

    题目描述 对people类重载“= =”运算符和“=”运算符,“==”运算符判断两个people类对象的id属性是否相等:“=”运算符实现people类对象的赋值操作. 代码如下 #include&l ...

  3. YTU 2443: C++习题 复数类--重载运算符3+

    2443: C++习题 复数类--重载运算符3+ 时间限制: 1 Sec  内存限制: 128 MB 提交: 1368  解决: 733 题目描述 请编写程序,处理一个复数与一个double数相加的运 ...

  4. YTU 2441: C++习题 复数类--重载运算符2+

    2441: C++习题 复数类--重载运算符2+ 时间限制: 1 Sec  内存限制: 128 MB 提交: 847  解决: 618 题目描述 定义一个复数类Complex,重载运算符"+ ...

  5. YTU 2440: C++习题 复数类--重载运算符+,-,*,/

    2440: C++习题 复数类--重载运算符+,-,*,/ 时间限制: 1 Sec  内存限制: 128 MB 提交: 1189  解决: 774 题目描述 定义一个复数类Complex,重载运算符& ...

  6. YTU 2439: C++习题 复数类--重载运算符+

    2439: C++习题 复数类--重载运算符+ 时间限制: 1 Sec  内存限制: 128 MB 提交: 1022  解决: 669 题目描述 定义一个复数类Complex,重载运算符"+ ...

  7. YTU 2907: 类重载实现矩阵加法

    2907: 类重载实现矩阵加法 时间限制: 1 Sec  内存限制: 128 MB 提交: 345  解决: 164 题目描述 编写矩阵类Matrix,实现两个2x3矩阵相加.主函数已给定. 输入 两 ...

  8. 模板类重载<<运算符

    写了一个Matrix模板类,需要重载<<, 1.需要友元函数 2.需要此函数的实现在.h中(本人试验出来的,放在.cpp中编译不通过) template <typename T> ...

  9. java使用this关键字调用本类重载构造器

    在构造器中可以调用本类的其他重载构造器,不能使用构造器名称来调用另一个构造器,而是应该使用Java特定的this(-.)来调用. this(-.)方法必须出现在构造器中的第一行,用来调用其他重载构造器 ...

随机推荐

  1. Spring Boot (24) 使用Spring Cache集成Redis

    Spring 3.1引入了基于注解(annotation)的缓存(cache)技术,它本质不是一个具体的缓存实现方案,而是一个对缓存使用的抽象,通过在既有代码中添加少量它定义的个助攻annotatio ...

  2. 跨域请求之jsonp

    1.什么是跨域请求: 服务器A上的一个页面,要请求服务器B上的一个处理程序,这就叫做跨域请求 本次的测试页面为: 处理程序kimhandler.ashx,如下: http://qxw119243026 ...

  3. 定制UVM Messages(参考)

    UVM的Messages机制有些时候很繁琐,很多时候希望能够在UVM messages的基础上做一些个人化的订制,这里给出来一个找到的例子作为参考. my_macros.sv:    `define ...

  4. html5——3D案例(音乐盒子、百度钱包)

    1.音乐盒子:触碰盒子,盖子会打开 2.百度钱包:触碰钱包,钱包,会180度旋转 <!DOCTYPE html> <html lang="en"> < ...

  5. SQL基本操作——事务

    事务是并发和恢复控制的基本单元. 事务四个属性:原子性.一致性.隔离性.持久性. 原子性:一个事务是一个不可分割的单位,事务中包括的诸多操作要么成功要么都失败. 一致性:事务必须使数据库从一个一致性状 ...

  6. JAVA和JVM运行原理揭秘

    这里和大家简单分享一下JAVA和JVM运行的原理,Java语言写的源程序通过Java编译器,编译成与平台无关的‘字节码程序’(.class文件,也就是0,1二进制程序),然后在OS之上的Java解释器 ...

  7. .net 程序集加载,版本不匹配的解决方法

    经常有些时候,A.dll引用的是Microsoft.EntityFrameworkCore.dll version=1.0.0.0 publicKeyToken="adb9793829dda ...

  8. sql的四种连接方式

    1.内联接.(典型的联接运算,使用像 =  或 <> 之类的比较运算符).包括相等联接和自然联接. 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 students ...

  9. react typescript 子组件给父组件传值

    //父组件 import * as React from 'react'import { Input } from 'antd'const Search = Input.Searchimport &q ...

  10. vue-cli3 中的环境变量

    官方文档是这样写的: src同名文件夹下的建立 .env.[model] 配置文件  // mode:production development ... 载入的变量会对vue-cli-service ...