面对对象

面向过程:一个线性的做事方法,一步步来,所有事情自己做
面向对象:站在高度上,很多事情让别人代做
对象:一个具体的事物(万物皆是对象)
类:是对对象的相似的部分一种抽象。
全局变量和局部变量:
全局变量属于整个类,所有方法都可以使用和更改他;
局部变量属于方法本身;只有在这个局部变量的方法内部才能使用
当全局变量和局部变量的名字相同的时候,在方法调用的时候,首先使用方法内的局部变量
创建一个对象的方法:new 一个对象
new 关键字调用的是类的构造方法,通过类的构造方法可以产生一个新的对象。
调用类的方法需要使用类的对象.方法名(参数列表);
this 关键字 代表对象本身,p.name this == p
当类没有任何一个构造器的时候,虚拟机会帮这个类创建一个无参的构造方法,但是如果类拥有任何一种构造方法,虚拟机就不会帮你再创建。
构造器的作用:产生一个对象的模版。为了按照某种结构制造一个对象;
值传递和引用传递:
值传递:基本数据类型 本身不会发生变化;
引用传递:引用数据类型(类(对象),数组,接口(特殊类))
会对本身产生变化;
类包含:属性(成员变量)和方法(成员方法),构造方法(特殊方法),代码块,结构体,内部类
内存结构:栈(局部变量,名字)堆(new 的对象(内容))


面向对象(oop)的三大特征:封装、继承、多态、(抽象)
封装的作用:安全
封装的意义:隐藏对象内部的复杂性,只对外公开简单的接口。便于外界调用,从而提高系统的可扩展性、可维护性。
程序设计的要求:高内聚,低耦合。
封装的实现:public 公共的 protected 受保护的 default 默认的 private 私有的


             类本身     包权限     子父类     其他包
public         √         √         √         √    (所有权限)
protected      √         √         √               (子父类权限)
default        √         √                          (包权限)
private        √                                     (类权限)


get/set方法
private 私有属性一般会提供公共的get/set方法,以便外界对我私有属性进行读写。
get是为了获取属性,要有返回值。(boolean 是 is)
set是为了改变属性,提供参数。
继承是为了实现:代码重用
extends 关键字: 子类 extends 父类
子类继承父类,子类拥有父类的非私有的属性和方法。
java 只允许单继承,(一个孩子只能有一个爹,但一个爹可以有多个孩子),在interface 中可以多继承。
子类不能继承父类的构造方法;
子类在使用自己的构造方法的时候,会先去调用祖先的构造方法,依次到本类为止。
多态:多样化
多态:重载overload、重写override
重写:在子父类之间,子类的方法名、返回值和参数列表同父类一样,但是方法体却不同
重载:在同一个类中,方法名相同,方法的参数类型不同(类型,顺序,个数)


Object 对象类 他是所有java类的父类(根基类)
如果一个类没有继承任何类,这个类就继承了Object类


super 代表父类本身 this 代表当前对象本身
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值