JAVAOOP 基础

1,构造方法

Person() 构造方法
特点:没有返回值类型,方法名和类名相同
	 
	 每一个类都会有一个默认的无参构造方法,当写一个有参构造时,无参构造会消失。

作用:实例化对象	给属性赋初始值

2,面向对象的特征

1. 封装:保护内部的操作不被破坏;
2. 继承:在原本的基础之上继续进行扩充;
3. 多态:在一个指定的范围之内进行概念的转换。

3,方法的重载(overload)

方法重载的特点:
	在同一个类中,方法名相同,参数列表(个数,类型,顺序)不同
    与返回值、访问修饰符无关

4,继承的特点

	1,继承父类的属性和方法
​	2,不能继承父类的构造方法
		private 修饰的属性和方法 
		子类和父类不在同一包下时,使用默认的访问修饰符
​	4,java中的类只有单继承,一个子类只有一个父类。但是可以多重继承
​	5,一个类如果没有extends继承,默认继承Object。Object是所有类的父类
​	6,父类又叫超类,基类。子类又叫派生类。

5,super和this关键字

super:

​	super(); 调用父类的无参构造   必须写在构造方法中的第一行

​	super:表示对父类对象的引用

​	super只能出现在子类的方法和构造方法中

​	super调用构造方法时,只能是第一句

​	super不能访问父类的private成员

this:

​	this :表示对本类对象的引用 

​	this(); 调用无参构造方法,必须写在构造方法中的第一行

6,方法的重写、覆盖(override)

当父类的方法满足不了子类的需求,这个时候需要子类重写父类的方法

特点:方法名和父类的方法名一致,返回值类型一致,参数列表一致,

​			子类方法的访问权限不能比父类的更严格。

​			子类的返回值可以是父类返回值对象的子类对象

7,抽象类和抽象方法的特点

	1,抽象类和抽象方法都通过abstract关键字来修饰
​	2,抽象类不能实例化。抽象类中可以没有、有一个或者多个抽象方法,甚至全部方法都可以是抽象方法
​	3,抽象方法只有方法声明,没有方法实现。有抽象方法的类必须声明为抽象类。子类必须重写
 	   所有的抽象方法才能实例化,否则子类还是个抽象类。

8,多态的三要素

1,要有关系--继承

2,要有方法重写--重写式多态

3,要有向上转型--父类的引用指向子类的对象

9,instanceof关键字

1,instanceof 运算符是用来在运算时判断对象是否是指定类及其父类的一个实例。

   比较的是对象,不能比较基本类型

10,static final关键字

static 

   1,用来修饰成员变量

​     将其变为类的成员,从而实现所有对象对于该成员的共享

   2,用来修饰成员方法

​     将其变为类方法,可以直接使用"类名.方法名"的调用方式,常用于工具类。

   3,静态块用法

​     将多个类成员放在一起初始化,使得程序更加规整,其中理解对象的初始化过程非常关键。

   4,静态导包用法

​     将类的方法直接导入到当前类中,从而直接使用"方法名"即可调用类方法,更加方便

final:

   1,被final修饰的类不可以被继承

   2,被final修饰的方法不可以被重写

   3,被final修饰的变量不可以被改变
11,List接口
add(E e) ; 添加元素  Element 元素
add(int index, E element); 在index索引处插入元素element对象
addAll(Collection<? extends E> c); 将集合对象c 追加到集合后
addAll(int index, Collection<? extends E> c) ;
clear() ;	清空元素
contains(Object o) ;返回的boolean类型,表示是否包含某个对象
containsAll(Collection<?> c) ;判断是否包含某个集合对象
equals(Object o); 重写Object的equals方法
get(int index) ; 通过下标获取对象的元素对象
indexOf(Object o) ; 返回o对象所在的下标		如果没找到返回-1
lastIndexOf(Object o) ;
isEmpty() ; 判断集合是否为空,是否有元素对象
remove(int index) ; 根据索引删除元素对象
remove(Object o) ; 根据对象删除
set(int index, E element); 替换对应所有的元素对象为element
size() ;返回集合的长度
12,list接口的常用的实现类

1,ArrayList

​ 底层的实现是数组,查询快

2,LinkedList

​ 底层是双向链表,添加快

包含了List接口定义的所有方法,但还是有自己特有的方法
void  addFirst(Object o)	在列表的首部添加元素
void  addLast(Object o)	在列表的末尾添加元素
Object  getFirst()	返回列表中的第一个元素
Object  getLast()	返回列表中的最后一个元素
Object  removeFirst()	删除并返回列表中的第一个元素
Object  removeLast()	删除并返回列表中的最后一个元素
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值