昕鲜事

类、对象

  1. 类:有公共属性和方法的事物的一种抽象(即可以抽象出来为一类)

不能确定到具体的某个对象就是类别

大类中又有子类(根据不同的属性和方法划分)

属性对应特征      方法对应行为

属性是名词        方法是动宾结构

  1. 对象: 类的实例化   能确定到具体的实例就是某一个对象,特征不同对象不同(即有特有的特征)

类与类之间的关系 类与对象之间的从属关系

分析过程:

    1.系统中有哪些功能(方法)和变量 把这些东西经过分析分解对象

    2.分析这些对象 将具有相同属性和方法的对象抽象出类

    3.针对这些类 根据有相同属性和方法的类抽出父类 一般定义为抽象类

4.根据不同的类中有某个相同属性和方法抽象出接口

Eg:

接口:不同父类(商品类和音乐类)中有公共的属性和方法

父类:商品类 :子类中公共的属性和方法   音乐类:子类中公共的属性和方法

商品的子类:                            音乐的子类:

电视 :特有的属性和方法           流行:特有的属性和方法

 冰箱 :特有的属性和方法           经典:特有的属性和方法

Ps:要把属性和方法进行封装

特征:体现在封装 继承 多态

目的:软件功能的扩展 解决需求变更的问题

可扩展(不改变原有的基础上,增加新的功能) 可复用

 

在类中的位置不同

在内存中的位置不同

生命周期不同

初始化值不同

成员变量(全局使用)

类中方法外

堆内存(存放临时数据、随时消失随时处理)

随着对象的存在而存在,随着对象的消失而消失

有默认的初始值

整型默认值0

引用型默认值空

 

局部变量(只能在局部使用)

方法内或者方法声明上

栈内存(存放引用数据、当所有引用数据消失,由垃圾处理器清理)

随着方法的调用而存在,随着方法的调用完毕而消失

没有默认的初始化值,必须先定义赋值后才能使用

Tips:使用范围只能在最接近的大括号里定义的才有用

Tips:

查找 属于歌曲库中有歌曲列表的属性 进行显示列表的功能

听歌 属于播放器有播放的功能

 

其中代码执行的顺序如下:

静态变量初始化→静态代码块→初始化静态方法→初始化实例变量→代码块→构造方法

              Static静态 (代表全局可以使用)

Final 常量(只能使用 不能改变)

可以通过类名直接调用该类的静态方法

修饰数据:不会改变的值

3个地方可以赋值:直接赋值、构造函数中,或是初始化块中

静态方法不能访问非静态的实例变量和实例方法

静态方法必须用static关键字修饰

修饰方法:修饰方法的作用是把方法锁定,以防止任何继承类修改它的含义。也就是说final修饰的方法不能被重写。

静态方法不能使用this 关键字和super关键字,因为这两个关键字与特定的实例相关

实例方法可以访问静态成员和非静态成员

修饰类 表示不能继承和被继承。

Static方法独立于任何实例,因此static方法必须被实现,而不能是抽象的abstract

Final static 一起使用:

对于成员变量:一旦赋值不能改变 称全局常量 可以通过类名直接访问

对于成员方法:不可继承和改变 可以通过类名直接访问。

 

enum枚举:

枚举类型其实是整型,它的作用一是让数值看起来更直观

二是圈定一个范围,是数值被限定在这个范围中.

也就是说某一组值做限定,一般用一个专门的类写枚举类型

语法:

enum sex{

//罗列限定值 (也就是说把所有可取的值罗列出来)

}

类名.枚举值

使用语法:Private Sex  sex;  Sex.限定值

 

继承:

定义:多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。  

   单独的这个类称为父类,基类或者超类;这多个类可以称为子类或者派生类。

   有了继承以后,我们定义一个类的时候,可以在一个已经存在的类的基础上,还可以定义自己的新成员。

子类会继承父类公共的属性

作用:提高了代码的复用性

提高了代码的维护性

让类与类之间产生了关系,是多态的前提

语法:

[修饰符] class 子类名 extends 超类名{

         [属性定义]

         [构造方法定义]

         [方法声明]

}

继承具有传递性,即多层继承(继承体系),即一个类可以既是子类,同时又是父类

因为子类会继承父类中的数据,可能还会使用父类的数据。所以,子类初始化之前,一定要先完成父类数据的初始化。

this

Super

定义:代表本类对应的引用。

代表父类存储空间的标识(可以理解为父类引用)

用法:

访问成员变量:this.成员变量

访问构造方法:this();

访问成员方法:this.成员方法();

用法:

访问成员变量:super.成员变量

访问构造方法:super();

访问成员方法:super.成员方法();

多态 重写父类的方法 权限必须大于父类

用哪个类就实例化一个对象 用对象调用里面的方法进行操作

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值