week02

Week02 面向对象

一、对象的创建

**1.是什么:**是对类的一种实例化的方法

**2.为什么:**因为我们想要一个具体的事物,而不是一个大概的物体,如果不进行对象的创建,事物就会变得模糊,比如我要读一本书,有人读的是哈姆雷特,有人读的是悲惨世界,所以我们需要一个精确的东西来具体化。

3.怎么创建对象

类名 对象名 = new 类名();
Student s1 = new Student();


创建对象的过程

1.new 完之后会在内存开辟空间,创建对象,传入地址

2.对象内部的属性和方法会初始化

3.完成创建后把地址值赋值给对象名


二、局部、成员变量

1.是什么

局部变量:方法体内,需要赋初值,离开方法体就没法用

成员变量:类中,不用赋初值,系统会自动的赋初值,可以在整个类中使用

2.为什么

成员变量是在整个类中进行实例化中都需要的属性,而局部变量则是,只在那个特定的方法中需要的属性

3.怎么做

在类中定义就是成员,在类中的方法中定义就是局部


三、构造方法

有参,无参(默认有个无参)

作用:创建对象,给对象的属性赋初始值

1.是什么

构造方法是一种与类名一致的特殊方法,没有返回值,可以有多个参数

2.为什么

构造方法的作用就是创建对象,(应该是一种约束把)

3.怎么做

范围 对象名(属性1,属性2…){}


四、重载(overload)

条件

1.方法在同一个类中

2.方法名相同,参数列表不同 (个数,顺序)

3.返回值,方法范围要一致

1.是什么

对类中的方法进行重写

2.为什么

为了方便,对于同一个功能可能有不同的需求,比如加法运算,可以是一个参数,两个参数…

3.怎么做

3.怎么做


五、封装

**是什么:**对属性进行私有化

**为什么:**防止别人进行一些非法操作

**怎么做:**私有化属性,然后提供get,set方法对属性的操作进行规定

关键字:private

需要提供get和set方法用来对对象中的属性赋值,或者提供有参构造进行赋值。


六、继承

是什么:

子类继承父类的属性和方法,还可以有自己的扩展

为什么:

可以提高代码复用,提高效率。

怎么做:

class a extends b{}

注意:

1.继承后子类可以使用父类的属性和方法

2.单继承

3.子类可以使用父类中非私有的方法,父类不可以使用子类中特有的方法

4.子类构造方法执行会先调用父类的构造方法super()

七、重写(override)

是什么

在继承关系中,子类对父类的方法进行重写

要求:方法名相同,参数列表相同,修饰符范围子类要大于等于父类

为什么

父类中的方法不适合子类对象的使用

怎么做

八、多态

是什么:

同一个接口,使用不同的实例,然后得出不同的结果

为什么

减少冗余代码

怎么用

1.有继承关系

2.子类重写父类的方法

3.父亲引用指向子类对象,向上转型

九、抽象

是什么

抽象也是一种类,里面可以有抽象的方法,不定义方法体,只写方法名,被继承后调用

为什么

程序初期会出现一些不知道具体方法的方法体,所以不用给该方法写方法体

怎么用

子类继承父类,并重写父类所有的抽象方法,然后才能被调用

注意:一个子类只能继承一个父类,抽象类也能继承抽象类

可以有构造方法,不能通过构造方法实例化对象,但可以使用构造方法里面的内容

十、接口

与抽象相似,不过可以多继承,

其属性默认被 public static final修饰,是常量

其方法默认被 public abstract 修饰,接口不能有构造方法

接口之间也能实现

十一、常用类

1.object

所有子类的父类

几个方法:

equals

hashCode

toString

2.包装类

jdk5之前

//基本--->包装类
包装类 变量名 = new 包装类();
Integer i1 = new Integer(1);

包装类 变量名 = 包装类.valueOf();
Integer i1 = Integer.valueOf(1);


//包装---->基本
基本类 变量名 = 包装类对象.intValue();
int i = i1.intValue();



jdk5以后自动拆箱装箱

Integer i = 1;
int i = integer;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值