一、java多态
1、多态是指同一个行为具有多个不同的表现形式或形态的能力;
2、多态性是对象多种表现形式的体现;
3、重写的方法能在运行时调用,不管编译的时候源代码中引用变量是什么数据类型;
二、java抽象类
1、抽象类是一个类中没有包含足够的信息来描绘一个具体的对象;
2、抽象类与普通类唯一的区别就是它不能实例化对象;
3、抽象类定义:public abstract class Employee{};
4、抽象方法:父类声明该方法为抽象方法,用abstract关键字声明,由子类实现;
如:
public abtract class Employee{
public abstract double computePay();
};
5、如果一个类包含抽象方法,那么该类必须是抽象类;
6、任何子类必须重写父类的抽象方法,或者声明自身为抽象类;
三、java封装
1、封装:encapsulation,指一种将抽象性函数接口的实作细节部分包装、隐藏起来的方法;
2、封装是一个屏障,防止该类的代码和数据被外部类定义的代码随机访问;
3、封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段;
4、通常访问类的私有成员变量都通过类似get()/getter()/set()/setter()的方法;
5、例子:
public class EncapTest{
private String name;
private String idNum;
private int age;
public int getAge(){
return age;
}
public String getName(){
return name;
}
public String getIdNum(){
return idNum;
}
public void setAge( int newAge){
age = newAge;
}
public void setName(String newName){
name = newName;
}
public void setIdNum( String newId){
idNum = newId;
}
}
四、java接口
1、接口,interface,在java中是一个抽象类型,即抽象方法的集合,通常以interface来声明;2、接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念;
3、类描述对象的属性和方法,接口则包含类要实现的方法;
4、接口无法被实例化,但是可以被实现;
5、接口与类相似点:
一个接口可以用多个方法;
接口文件保存在.java结尾的文件中,文件名使用接口名;
6、接口与类的区别:
接口不能实例化对象;
接口没有构造方法;
接口中所有的方法必须是抽象方法;
接口中不能包含成员变量,除了static和final变量;
接口不是被类继承了,而是要被类实现;
接口支持多重继承;
7、接口的声明:[可见度] interface 接口名称 [extends 其他类名]{
//声明变量
//抽象方法
}
8、接口是隐式抽象的,当声明一个接口的时候,不必使用abstract关键字;
9、接口中每一个方法也是隐式抽象的,声明时同样不需要abstract关键字;
10、接口中的方法都是公有的;
11、接口的实现:public class MammalInt implements Animal{};
五、java包
1、包用于区别类名的命名空间,防止命名冲突;
2、包的作用:
把功能相同或相关的类或接口组织在同一个包中,方便类的查找和使用;
如同文件夹一样,包也采用了树形目录的存储方式;
同一个包中的类名字是不同的,不同丁宝忠的类的名字是可以相同的,
当同时调用两个不同包中相同类名的类时,应该加上包的名字以区别;
包限定了访问权限,拥有包访问权限的类才能访问某个包中的包3、包语句的语法格式为:
package pkg1[.pkg2...]
4、包声明应该放在源文件的第一行,每个源文件只能有一个包声明;
5、创建包,package animals;
6、使用包:import animals;