类的继承:
在java中,一个类继承另一个类需要使用关键字extends,关键字extends的使用方法
class Child extendes Parend {}
类的继承代码
运行结果
Object类 :
object类是比较特殊的类,它是所有类的父类,是java类中的最高层,用户创建一个类时,除非已经指定要从其它类继承,否则他就是从java.lang.object类继承而来的,Java语言中每个类都源于Java,lang,object类
代码
执行结果
对象类型转换:向上转换,向下转换
向上转型:
子类对象赋值给父类应用
Animal a=new Dog();
自动类型转换
向下转型:
父类对象赋值给子类应用
Dog a=(Dog)new Animal();
强制类型转换
代码
方法重载:
就是在同一个类中允许存在一个或一个人以上的同名方法,只要这些方法的参数个数或类型不同即可
返回值 方法名(参数数据数据类型....参数名称)
代码
package cast;
public class OverLoadTest2 {
public static int add(int a,int b) {
return a+b;}
public static double add(double a,double b) {
return a+b;}
public static int add(int a) {
return a;
}
public static int add(int a,double b) {
return a;
}
public static int add(double a,int b) {
return b;
}
public static int add(int...a){//定义不定长参数方法
int s=0;
for(int i=0;i<a.length;i++) {//根据参数个数做循环操作
s+=a[i];//将每个参数累加
}//将计算结果返回
return s;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("调用add(int,int方法·:"+ add(1,2));
System.out.println("调用add(double,double方法·:"+ add(2.1,3.3));
System.out.println("调用add(int)方法:"+add(1));
System.out.println("调用add(int,double方法·:"+add(5,8.0));
System.out.println("调用add(double,int方法·:"+add(5.0,8));
//调用不定参数方法
System.out.println("调用不定参数方法:"+add(1,2,3,4,5,6,7,8,9));
System.out.println("调用不定参数方法"+add(1));
}
}
运行结果
final变量:
final关键字可用于变量声明,一旦该变量被设定,就不可以改变该变量的值通常,由final定义的变量为常量,
final double PI=3.14;
private final void test(){
...//省略一些程序代码}
final 类名{}
final修饰变量———不能被改变
final修饰方法———不能被重写
final修饰类————不能被继承
代码
instanceof关键字:myobject instanceof ExampleClass
当在程序中执行向下转型操作时,如果父类对象不是子类对象的实例,就会发生异常,所以在执行向下转型的时候炫耀养成一个良好的习惯,就是判断父类对象是否为子类对象的实例这个判断通常使用instanceof来完成,也可以用它来判断一个实例对象是否属于一个类。
代码
多态:
利用多态可以使程序具有良好扩展性,并可以对所有类对象进行通用处理。假如现在要编写一个绘制图形方法draw(),如果传入正方型对象就绘制正方形,如果传入圆形对象那个就给绘制圆形,这种场景可以用场景来实现
public void draw(Square s){}//绘制正方形图形
public void draw(ciecular c){}//绘制圆形图形
代码
结果
抽象类:
抽象方法:
修饰符 abstract 返回参数 方法名 (传入参数);
抽象类:
由抽象方法的类一定是抽象类
修饰符 abstract class 类名{
}
接口·:接口是抽象类的yansheng
接口:
所有方法都是抽象方法
修饰符 interface 接口名 {
}
实现implements
Java语言每个类可以实现多个接口
修饰符 calss 类名 implements 接口1,接口2,...{
}
package hello;
interface Paintable{//可绘制接口
public void draw();//绘制抽象方法
}
class Quadrangle{//四边形
public void doAnything() {
System.out.println("四边形提供的方法");
}
}
class Parallelogram extends Quadrangle implements Paintable{
public void draw() {
System.out.println("绘制平行四边形");
}
}
class Square extends Quadrangle implements Paintable{
public void draw() {
System.out.println("绘制正方形");
}
}
class Circular implements Paintable{
public void draw() {
System.out.println("绘制园形");
}
}
public class Demo7 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Square s=new Square();
s.draw();
s.doAnything();
Parallelogram p=new Parallelogram();
p.draw();
p.doAnything();
Circular c=new Circular();
c.draw();}
}