一、回顾
1、封装:细节隐藏,而以一种新的形式来展现。
类的封装(包括属性、行为),方法。
类的属性当不便于公开的时候,采用对属性的封装操作,采用setXxx以及getXxx
实现对封装属性的操作。
2、构造方法:用途是,用于一次性初始化所有成员变量
访问修饰符 类名(参数列表){
this.fieldName=value1;
...
}
在自定义了构造方法后,系统将不再提供无参的构造方法,如果还想使用无参的构
造方法,需要自己定义。
3、实例化对象:
类名 对象名=new 构造方法();
通过"."运算符调用可见的属性和方法。
4、方法的调用:
4-1、同一个类的内部的方法间调用:直接调用
4-2、不同类的方法间调用:先实例化被调用方法所在类的对象,然后通过对象来
调用方法(如果方法是静态,而且是可见的,可以通过类名调用)。
5、继承:可以实现代码的重用,还可以为多态提供可能。
语法:
public class SubClass extends SuperClass{
//子类的属性
//子类的方法
//子类的构造方法:
public SubCalss (参数列表){
//参数列表中,要包括对,从父类继承过来的成员变量赋值的形参
//子类构造方法中的第一部分,是调用父类构造方法
super(形参名字列表);
//然后才是子类的初始化内容
}
}
6、方法的重写:
前提:是子类中重新定义父类中相同的方法(父类的构造方法除外)
内容:自定义。
7、多态:同一个接口,不同的对象,表现出不同的功能。
7-1、重载:同一个类中,同名不同参的方法定义。
7-2、重写:程序骨架采用抽象或者父类表达,实际操作时,通过具体的子类
来实现不同功能,程序就体现出多态,可以让程具有良好的可扩展性和
可维护性。
二、今天的内容
1、抽象类:不具体的类型,是一种概念,无法具体,例如:"东西"类型,关键在于
能够引用不同对象。
特点:抽象类不能实例化对象,但是可以引用其子类对象。
语法:
访问修饰符 abstract class 类名{
//属性
//行为
//构造方法 ?
//抽象方法:只有方法名,没有方法体,连"{}"都没有。
访问修饰符 abstract 返回值类型 方法名(参数列表);
}
题目:
自定义一个抽象动物类,定义出相应属性和行为,以及构造方法,对于
吃、睡、叫行为,定义为抽象行为;然后,定义老虎,马,熊猫子类,分
别具体化抽象行为,另外,编写一个应用,可以看到具体对象相关行为,
能够体现出多态,让程序有更好的可扩展性(例如:可以再加入一猫类型
,而不至于修改客户端代码。)
2、final:最终的,叶子
可以修饰类:被其修饰的类称为最终类,意味着该类不能被继承。
方法:被其修饰的方法不能被重写。
常量:private final 类型 常量名=值;
public static final 类型 常量名=值;
一般static、final同时出现,不是必须。
3、static:静态的,其修饰的资源属于所在的类,而不专属于某个对象,即共用的。
可以通过类名(可见性还要兼顾)直接调用,当然,用对象也可以。
它的生存时间很长,随着代码的加载而加载,随着程序的结束而结束。
可以是变量、常量 、方法
被其修饰的资源,称为静态资源。
被其修饰变量,叫做类变量或静态变量。
被其修饰方法,叫做类方法或静态方法。
1、封装:细节隐藏,而以一种新的形式来展现。
类的封装(包括属性、行为),方法。
类的属性当不便于公开的时候,采用对属性的封装操作,采用setXxx以及getXxx
实现对封装属性的操作。
2、构造方法:用途是,用于一次性初始化所有成员变量
访问修饰符 类名(参数列表){
this.fieldName=value1;
...
}
在自定义了构造方法后,系统将不再提供无参的构造方法,如果还想使用无参的构
造方法,需要自己定义。
3、实例化对象:
类名 对象名=new 构造方法();
通过"."运算符调用可见的属性和方法。
4、方法的调用:
4-1、同一个类的内部的方法间调用:直接调用
4-2、不同类的方法间调用:先实例化被调用方法所在类的对象,然后通过对象来
调用方法(如果方法是静态,而且是可见的,可以通过类名调用)。
5、继承:可以实现代码的重用,还可以为多态提供可能。
语法:
public class SubClass extends SuperClass{
//子类的属性
//子类的方法
//子类的构造方法:
public SubCalss (参数列表){
//参数列表中,要包括对,从父类继承过来的成员变量赋值的形参
//子类构造方法中的第一部分,是调用父类构造方法
super(形参名字列表);
//然后才是子类的初始化内容
}
}
6、方法的重写:
前提:是子类中重新定义父类中相同的方法(父类的构造方法除外)
内容:自定义。
7、多态:同一个接口,不同的对象,表现出不同的功能。
7-1、重载:同一个类中,同名不同参的方法定义。
7-2、重写:程序骨架采用抽象或者父类表达,实际操作时,通过具体的子类
来实现不同功能,程序就体现出多态,可以让程具有良好的可扩展性和
可维护性。
二、今天的内容
1、抽象类:不具体的类型,是一种概念,无法具体,例如:"东西"类型,关键在于
能够引用不同对象。
特点:抽象类不能实例化对象,但是可以引用其子类对象。
语法:
访问修饰符 abstract class 类名{
//属性
//行为
//构造方法 ?
//抽象方法:只有方法名,没有方法体,连"{}"都没有。
访问修饰符 abstract 返回值类型 方法名(参数列表);
}
题目:
自定义一个抽象动物类,定义出相应属性和行为,以及构造方法,对于
吃、睡、叫行为,定义为抽象行为;然后,定义老虎,马,熊猫子类,分
别具体化抽象行为,另外,编写一个应用,可以看到具体对象相关行为,
能够体现出多态,让程序有更好的可扩展性(例如:可以再加入一猫类型
,而不至于修改客户端代码。)
2、final:最终的,叶子
可以修饰类:被其修饰的类称为最终类,意味着该类不能被继承。
方法:被其修饰的方法不能被重写。
常量:private final 类型 常量名=值;
public static final 类型 常量名=值;
一般static、final同时出现,不是必须。
3、static:静态的,其修饰的资源属于所在的类,而不专属于某个对象,即共用的。
可以通过类名(可见性还要兼顾)直接调用,当然,用对象也可以。
它的生存时间很长,随着代码的加载而加载,随着程序的结束而结束。
可以是变量、常量 、方法
被其修饰的资源,称为静态资源。
被其修饰变量,叫做类变量或静态变量。
被其修饰方法,叫做类方法或静态方法。