什么是方法?
在java中,用方法描述现实事物的行为
什么是形参?
方法里面的参数
什么是实参?
调用的参数
构造方法
名字和类名一样,对象实例化,对对象成员变量初始化
构造方法无返回值类型(void也不行)
方法重载
以创建多个方法,它们可以有相同的名字,但必须具有不同的参数,即或者是参数的个数不同,或者是参数的类型不同
this关键字
本类的调用
static关键字
在java中使用static修飾的成員就是類成員,它属于整个类,而不屬于某個對象
(类名.变量名) static的用法
final关键字
final修饰了的就不能改变了
final可以修饰类(该类不能被继承),修饰方法(该方法不能被重写),修饰变量(该变量不能重新赋值)
一直都不会改变的用static final (变量都要大写)
对象
是该类事物的具体存在,是一个具体的实例
类
是一组相关属性和行为的集合
类和对象的关系
对象是具体的东西,类是抽象的,对象是类的实例化
封装
封装就是把对象的信息和内部的逻辑结构隐藏起来
四种访问控制符
private (私有访问权限):只能在自己类使用,其他类不能被调用(大多数使用private)
protected(子类访问权限):可以被同一个包的其他类访问
default(包访问权限):不使用任何访问控制符修饰
public (公共访问权限):可以被所有类访问
如何使用封装
通过对属性的可见性的修改限制对属性的访问
为每个属性创建一对赋值与取值的方法(set,get)
继承(单继承,传递性)
是从已有的类中派生出新类,新的类吸收已有的数据的属性和行为,并且能扩展新的能力
修饰符 class 子类 extends 父类{
}
优点:提高了复用性,可维护性,降低了耦合性,简化了代码
方法重写
子类继承了父类的方法,并且改写方法中的内容
方法名要相同
形参列表相同
super关键字
父类的引用
ArrayList
长度可变的数组
实例化方法:ArrayList<数据类型> 数据类型名List=new
ArrayList<数据类型>();
ArrayList<Student> studentList=new
ArrayList<Student>();
自己取的名字
studentList.size(); 数组的长度
studentList.remove(0); 删除第一个
ArrayList.add();
int类型就用integer
导包的快捷键:ctrl shift o
遍历ArrayList
方法一:
for
(
int
i
=0;
i
<
studentList
.size();
i
++){
Student
s
=
studentList
.get(
i
);
System.
out
.println(
s
.getName()+
s
.getId());
}
方法二:
for
(Student
student
:
studentList
){
System.
out
.println(
student
.getName()+
student
.getId());}
for
(
int
i
=0;
i
<
studentList
.size();
i
++){
Student
s
=
studentList
.get(
i
);
if(s.getGender().s.equals("男")){
studentList.remove(); //删除男生
System.
out
.println(
s
.getName()+
s
.getId());
}
iterator:迭代器
Ierator<Student> i=new studentList.
iterator();
while(
iterator.hasNext()){
if(s.getGender().s.equals("男")){
studentList.remove();
}}
抽象类
抽象方法的关键字:abstract
抽象方法中没有方法体
抽象方法不能写在普通类当中
特点:
1.抽象类不能被实例化
2.继承一个抽象类,必须要实现抽象类中的抽象方法
public abstract void 类名();
一个类里面有一个抽象方法那么这个类一定是抽象类
抽象方法是一个模板或约束,避免了子类的随意性
接口
遵守接口规范,是一种特殊的抽象类
interface修饰的类
public interface 接口名{
抽象方法 }
implements(实现)