Java基础4_面向对象下2
2011-03-14 10:37
281 查看
/*
抽象类和抽象方法
1.如果一个类中有抽象的方法,那么这个类就是抽象类,必须在类名前加上"abstract"
2.不可用抽象类产生行何实例方法
3.抽象方法只需声明,不需实现
4.含有抽象方法的类必须被声明为抽象类,抽象类的子类必须覆盖所有的抽象方法后才能被实例化,否则这个子类还是抽象类
*/
/*
接口interface
如果一个抽象类中的所有方法都是抽象的,我们就可以将这个类用另外一种方式来定义,也就是接口定义.接口是抽象方法和常量值的定义的集合,从本质上来讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现
1.接口中的成员变量都是public访问类型的,接口里的变量默认是用public static final标识的
2.可定义一个新的接口用extends关键字去继承一个已有的接口
3.也可以定义一个类用implements关键字去实现一个接口的所有方法,还可以去定义一个抽象类用implements关键字去实现一个接口中定义的部分方法.
4.一个类可以继承一个父类的同时,实现一个或多个接口,extends关键字必须位于implemnets关键字之前
*/
interface Runner
{
int ID=1;
void run();
}
interface Animal extends Runner
{
void breathe();
}
class Fish implements Animal
{
public void run()
{
System.out.println("fish is swimening");
}
public void breathe()
{
System.out.println("fish is bubbling");
}
public static void main(String[] args)
{
Fish f=new Fish();
int J=0;
J=Runner.ID;
J=f.ID;
J=Fish.ID;
//f.ID=2;//无法为最终变量 ID 指定值
}
}
abstract class LandAnimal implements Animal// abstract LandAnimal 不是抽象的,并且未覆盖 Runner 中的抽象方法 run()
{
public void breathe(){};
}
interface Flyer
{
void fly();
}
class Bird implements Runner,Flyer
{
public void run(){}
public void fly(){}
}
class Student extends Person implements Runner//Person.class
{
public void run(){}
}
interface A
{
int ID=1;
int aa(int x,int y);//直接用分号结束方法的定义,证明aa是一个抽象的方法
void bb();
/*public static void main(String[] args)
{
A a=new A();//错误: A 是抽象的;无法对其进行实例化
}*/
}
/*class B extends A
{
//B 不是抽象的,并且未覆盖 A 中的抽象方法 aa(int,int)
int aa(int x,int y){return 1;}
}*/
抽象类和抽象方法
1.如果一个类中有抽象的方法,那么这个类就是抽象类,必须在类名前加上"abstract"
2.不可用抽象类产生行何实例方法
3.抽象方法只需声明,不需实现
4.含有抽象方法的类必须被声明为抽象类,抽象类的子类必须覆盖所有的抽象方法后才能被实例化,否则这个子类还是抽象类
*/
/*
接口interface
如果一个抽象类中的所有方法都是抽象的,我们就可以将这个类用另外一种方式来定义,也就是接口定义.接口是抽象方法和常量值的定义的集合,从本质上来讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现
1.接口中的成员变量都是public访问类型的,接口里的变量默认是用public static final标识的
2.可定义一个新的接口用extends关键字去继承一个已有的接口
3.也可以定义一个类用implements关键字去实现一个接口的所有方法,还可以去定义一个抽象类用implements关键字去实现一个接口中定义的部分方法.
4.一个类可以继承一个父类的同时,实现一个或多个接口,extends关键字必须位于implemnets关键字之前
*/
interface Runner
{
int ID=1;
void run();
}
interface Animal extends Runner
{
void breathe();
}
class Fish implements Animal
{
public void run()
{
System.out.println("fish is swimening");
}
public void breathe()
{
System.out.println("fish is bubbling");
}
public static void main(String[] args)
{
Fish f=new Fish();
int J=0;
J=Runner.ID;
J=f.ID;
J=Fish.ID;
//f.ID=2;//无法为最终变量 ID 指定值
}
}
abstract class LandAnimal implements Animal// abstract LandAnimal 不是抽象的,并且未覆盖 Runner 中的抽象方法 run()
{
public void breathe(){};
}
interface Flyer
{
void fly();
}
class Bird implements Runner,Flyer
{
public void run(){}
public void fly(){}
}
class Student extends Person implements Runner//Person.class
{
public void run(){}
}
interface A
{
int ID=1;
int aa(int x,int y);//直接用分号结束方法的定义,证明aa是一个抽象的方法
void bb();
/*public static void main(String[] args)
{
A a=new A();//错误: A 是抽象的;无法对其进行实例化
}*/
}
/*class B extends A
{
//B 不是抽象的,并且未覆盖 A 中的抽象方法 aa(int,int)
int aa(int x,int y){return 1;}
}*/
相关文章推荐
- Java基础第7讲--面向对象之类和方法
- [零基础学JAVA]Java SE面向对象部分.面向对象基础(04)
- Java基础学习第六天——二维数组与面向对象入门
- 黑马程序员_java_基础_面向对象01
- 黑马程序员 Java基础_4 面向对象-抽象与封装
- java基础笔记一函数、数组、面向对象
- Java-面向对象(基础篇)--面向对象基础
- java面向对象基础
- 黑马程序员——Java基础---面向对象 (概述及封装等)
- Java面向对象基础--代码块
- java面向对象基础_final详细介绍
- Java面向对象基础知识复习
- 黑马程序员 java 基础 毕向东 面向对象
- Java.1面向对象基础
- JAVA面向对象基础:继承、变量隐藏、方法重写、包、修饰符、this、super
- [零基础学JAVA]Java SE面向对象部分-14.面向对象高级(02) 推荐
- java基础---->面向对象基础
- Java 面向对象基础定义
- java面向对象基础(二)
- Java基础复习:面向对象练习1