一:类与对象
类:拥有主观性,以人的意识为存在,如:生物类,动物类
对象:现实当中一个个实体的存在,具有客观性、具体性
二:构造器/构造方法
作用:1、构造对象
2、初始化属性(传参)
基本格式:public(访问修饰符) 类名(){ }
三:方法重载
定义:在同一个类中,方法名相同,参数个数或类型或顺序的多个方法互为重载方法
构造方法重载时注意:如果默认无参的构造方法被重载掉,则默认无参的构造方法就不存在,如果还需要,则要显性定义出来
如:
1. public void Intin{
2. public void ini(){}
3. public void int(int x){} //方法名相同,参数个数不同
4. }
5. public class Intin{
6. public void ini(int x,int y){ }
7. public void ini(int y,int x){ } //参数顺序不同
8. }
9. public class Intin{
10. public void ini(int x){ }
11. public void ini(String x){ } //参数类型不同
12. }
四:继承
定义:子类继承父类的非私有的属性和方法
关键字:extends 、implements
如:
1. public class Intex {
2. String name;
3. public void ini() {
4. System.out.println(name + "Hello world");
5. }
6. }
1. public class ExtendInt extend Intex{ //此处继承Intex类
2. public static void main(String[] args) {
3. ExtendInt ei = new ExtendInt();
4. ei.name = "张三"; //调用父类的属性
5. ei.ini(); //调用父类的方法
6. }
7. }
五:方法重写
定义:子类重写父类继承过来的方法
格式:子类重写父类,方法名、参数、返回类型必须一致,访问权限不能缩小
六:自动转型
定义:构造的是子类对象、声明的是父类引用,则子类对象类型会自动转型为父类类型
注意:转型后的对象,如果子类重写了父类的方法,则执行的必然还是重写后的
多态:同一个类型的对象,执行同一个方法,但是执行结果不一致
如> 1. public class Intex {
> 2. String name;
> 3. public void ini() {
> 4. System.out.println(name + "Hello world");
> 5. }
> 6. }
> 1. public class ExtendInt extend Intex{ //此处继承Intex类
> 2. public static void main(String[] args) {
> 3. Intex ei = new ExtendInt(); //自动转型
> 4. ei.ini(); //此处调用的是重写后的方法
> 4. }
> 5. }
> 6. public void ini(){ //重写父类的方法
> 7. System.out.println("你好");
> 8. }}
“`
七:普通类、抽象类、接口(继承)
方法分类:
构造方法 public(访问修饰) 类名(参数){}
普通方法 public(访问修饰) 返回类型 方法名(参数){}
抽象方法 public(访问修饰) abstract 返回类型 方法名(参数);
类分类格式:
普通类:public(访问修饰) class 文件名{}
抽象类:public(访问修饰) abstract class 文件名{}
接口:public(访问修饰) iterface 文件名{}
特点:
普通类: 1.构造方法、普通方法允许存在,不允许存在抽象方法
2.属性可以是常量、可以是变量
3.可以构造对象
抽象类: 1.三种类型的方法都允许存在
2.属性可以是常量、可以是变量
3.不可以构造对象(因为有抽象方法存在)
接口:1.只允许存在抽象方法
2.属性只能是常量、访问权限只能是public或者默认
3.不可以构造对象(因为有抽象方法存在)