是变量和相关方法的软件集合
状态→变量行为→方法对象可以由其他对象组成 2.类(class)
一种类型(自定义的数据类型),一种抽象,一种共性,一个模板实例(instance),某类对象的一个特定的实体,类是对象的一个抽象 3.封装性
保护对象本身的数据其他对象只知道对该对象的访问方法(接口)优点
模块化 - 每个对象的源文件是相互独立的,可以被不同的程序调用,每个对象是一块积木,可以搭建不同的形状。信息隐藏 - 通常定义一个公共接口/方法实现对对象的访问,可以调整对象的私有信息和方法,而不会对其他调用他的对象产生影响。可重用(抽象数据提高了可重用性) 4.继承
在已有类的基础上定义一个新的类(子类),子类继承父类所有的数据和方法,同时可以有新的数据和方法。Java仅支持单一继承,采用接口实现多重继承。
继承关键字extends:声明继承父类的子类的形式:
class subclass-name extends superclass-name{ //类体 }只能单继承,子类继承父类的全部成员,默认父类为objectSuper:解决直接访问或初始化从父类继承来的属性:
采用父类的构造方法,将构造细节通过继承链往上传递。用来访问被子类的成员覆盖的父类成员。(必须是子类构造方法中第一个执行语句) 5.接口
是为运行时多态设计的,接口指定一个类要做什么但不规定怎么做。本质是其他类实现行为的模板,不是具体方法。接口可以定义有由类使用的常量,因为成员变量都是final、static,不能被实现类修改。一次只能继承一个类,但可以实现几个接口。接口提供“is a”关系:
接口中所有方法必须是public方法必须在实现接口的类中定义接口可以被继承,使用extends关键字一个类实现了继承自另一接口的接口时,必须实现接口继承链中定义的所有方法
——定义接口 用interface关键词
——实现接口 用implements关键词
6.多态性表现在同一类中→方法的重载表现在继承中→方法的重写
子类从父类继承而来多个子类属于一个父类,所以子类有相同的父类继承父类的方法在不同的子类中有不同的表现形式 »»类的定义和使用 1.类的定义
2.类的描述 2.1[类的修饰符][类的修饰符]class 类名[extends 父类名] implements[接口名]{
类型 成员变量1;
类型 成员变量2;
... ... ... ...
类型 成员变量1(参数1,[参数2,...]){
方法体;
}
类型 成员变量2(参数1,[参数2,...]){
方法体;
}
... ... ... ...
}
无修饰/默认说明:仅能在同一个包中的其他类引用public:公共类,可以被其他类所使用(无任何限制)abstract:抽象类,该类不能被实例化(没有具体的对象),概括了一类事物共同的属性,可 充分利用他所具有的公共属性,提高程序的开发效率final:该类不能有子类extends:继承关系implements:实现某些接口的方法,实现多重继承
public class Test extends frame implements Students,Teachers{... ...} 2.2包的概念
通过包来管理类名空间,防止同名类名的冲突,形成层次化的结构
将类加入包:package 包名;
导入:import 包名.类名;
//Student
package School;
public class Student{
String name;
int score1,score2,s;
public void setScore(String s1,int d1,int d2){
name=s1;
score1=d1;
score2=d2;
s=score1+score2;
}
public void show(){
System.out.println(name+" "+name+"score is:"+s);
}
}
//useStudent
import School.Student;
class useStudent{
public static void main(String[] args){
Student s1=new Student();
s1.setScore("John",100,100);
s1.show();
}
}
2.3类成员-变量和方法
对象具有状态和行为
成员变量的定义
[访问权限修饰符]类型 变量名;[访问权限修饰符]类型 变量名 [=初值]; [访问权限修饰符]类型 变量名 [=初值][,变量名[=初值]...];
成员方法定义
[访问权限修饰符]方法返回类型 方法名()[throws 异常名]{方法体;}
[访问权限修饰符]:
public:可被所有类访问默认访问控制符:被同一包中其他类访问private:被该类自身访问protected:被该类自身、同一个包中的其他类、其他包中的子类访问private protected:该类自身、所有子类访问
[非访问控制修符]:
静态变量static:属于类的变量最终变量final:值在程序的执行过程中不会改变易失变量volatile:可能同时被多个线程所控制和修改



