对象与类

回顾:
1、何为对象?
世界万物皆对象
现实生活中真实存在的个体,
具备静态的特征和动态的行为。
2、何为类?
具有相似特征、相同行为的一群对象的总称,
归成一类(类别、类型)。
3、java中,如何创建类?
创建一个java源文件,将归类的名字
写成源文件的名字(类名)。
对象特征 以类的属性(成员变量)写在类体中。
对象行为 以类的方法写在类体中。

练习:
1、描述出教室中对象。
2、用java代码编写出汽车类。

正课:
1、类与对象
1)、何为对象何为类?
2)、如何创建java类?
3)、如何创建java对象?
创建对象的语法:

        通过new的方式来创建对象:
        类型 引用 = new 类型();

4)、类与对象总结
a、世界万物皆对象。
b、现实生活中先有对象,再归类。
java中先有类,再创建对象。
c、类是对象的模板,对象是类的实体。
d、一个类可以创建多个对象,
多个对象可以归成一类。
e、对象的特征对应成类的属性,
对象的行为对应成类的方法。

5)、类的属性赋值、方法调用
前提:先创建对象
a、属性赋值、使用
通过引用点属性名的形式来赋值和使用。

 引用.属性名 = 属性值;
       System.out.println(引用.属性名);

b、方法的调用
通过引用点方法名的形式对类中的非静态方法的调用。
引用.方法名([参数]);//无返回值
返回值类型 变量名 = 引用.方法名([参数]);//有返回值

2、this关键字
1)、站在类内看this
this:本类的,可以省略
this.属性名
this.方法名

>注意:static修饰的静态方法中,
    不可以使用this关键字。
    因为static是属于类的,this是本类的。
    两者同时使用是矛盾的。

2)、站在类外看this
this:谁调用代表谁。

3、方法重载
1)、定义
在一个类中,当方法名相同,参数列表不同的时候。
可是实现不同功能的方法体。
这种方法的定义被称为:方法的重载!

方法重载的要求:
a、一个类中。
b、方法名相同。
c、参数列表不同。

2)、重载方法的调用
无需关心重载之后的方法怎么调用。
只需将参数传对即可。
java虚拟机,会自动的对参数进行校验,
判断传入的参数与方法参数类型相匹配,
则会自动调用对应方法。

练习:你用代码来实现 + 重载的原理。
    public 返回值类型 add(参数列表){
        方法体
    }
+
+号两边,如果都是数字,就是加法运算。
+号两边,如果有一边非数字,就是拼接效果。

null和NullPointerException

null : 空
a、引用没有创建对象
b、对象创建,引用类型属性未赋值值

NullPointerException : 空指针异常
空指针的出现只有一个原因:
遇到了 null.变量名\null.方法名();

解决方法,请参考以前笔记。

2、基本类型变量赋值、引用类型变量赋值区别?
```基本类型变量赋值
int number1 = 100;//变量定义(声明、初始化)
int number2 = number1;
System.out.println("number1:"+number1);//100
System.out.println("number2:"+number2);//100
number1 = 200;//变量再次赋值
System.out.println("number1:"+number1);//200
System.out.println("number2:"+number2);//100

    People peo1 = new People();
    peo1.name = "张三";
    People peo2 = peo1;
System.out.println("peo1姓名:"+peo1.name);//张三
    System.out.println("peo2姓名:"+peo2.name);//张三
peo1.name = "李四";
    System.out.println("peo1姓名:"+peo1.name);//李四
    System.out.println("peo2姓名:"+peo2.name);//李四

3、java在内存中的堆栈关系
1)、栈
栈中存放临时变量。
临时变量:写在方法中的变量,
生命周期:方法调用开始、方法调用完毕结束。

a、基本类型变量
   存放变量类型、变量名和变量值。
   int number1 = 100;
   int number2 = number1;//即int number2 = 100;

b、引用类型变量
   存放引用类型、引用名和引用地址
    ps:引用的是堆中对象的指向地址
   People peo1 = 0x1111;
   People peo2 = peo1;//即将peo1的地址赋给peo2

2)、堆
堆中存放完整的对象信息。
对象创建、对象的属性赋值。

当创建一个对象,则会在堆中分配一块内存空间。

3)、方法区
方法区存放完整的类信息。
类名、方法信息、静态属性信息、静态块(只能执行一次)。

注:方法区中的东西只有一份,但是可以多次调用。
java在内存中的堆栈关系

4、构造方法
用途:
a、创建对象
b、成员变量初始化
参数名与属性名不同,
this.属性 = 参数名;//this可以省略
参数名与属性相同,
this.属性 = 参数名;//this不可以省略

1)、构造方法语法
a、无参构造
public 类名(){
}
注意:没有返回值类型,连void都没有。
b、有参构造
public 类名(参数列表){

}

  注意:
1、如果不写任何构造方法,系统会自动给类
   创建一个默认的隐含的无参构造。  
2、如果手动写了构造,则系统不会自动添加无参构造。
   建议,只要手写构造,最好加上无参构造。
   (**ps:除非要求创建对象时,必须给属性初始化,
    这种情况可以不写无参构造。**)
3、如果类有N个属性,总共最多能有 2^N 个构造:
    无参构造有且只有一个,
    有参构造最多有 2^N - 1个。

补充:
类的属性、全局变量、局部变量
变量:
全局变量、局部变量

1)、全局(成员)变量
     直接定义在类体中变量,称为全局(成员)变量。
     其作用域为整个类体。
    都有默认初始化(初始值)。

2)、局部变量
     定义在局部(方法体、静态块)的变量。
    必须手动初始化。

3)、属性
     属性 = 全局变量
     全局变量 ≠ 属性

    全局变量 > 属性。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,302评论 5 470
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,232评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,337评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,977评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,920评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,194评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,638评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,319评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,455评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,379评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,426评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,106评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,696评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,786评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,996评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,467评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,043评论 2 341

推荐阅读更多精彩内容