`
19941021
  • 浏览: 5382 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
最近访客 更多访客>>
社区版块
存档分类
最新评论
  • ayaome: ...
    java
  • 19941021:     明白了!谢谢了!
    java
  • ayaome: head属于LinkList类的属性你加个static关键字, ...
    java
  • 19941021:      这是因为在主函数中调用遍历链表的方法时要传入链表头的 ...
    java
  • ayaome: public static LinkNode head=nul ...
    java
阅读更多
                类的继承与接口实现
1.使用类继承的原因:
1).提高代码的重用性
     如定义一个学生的类
  
//所有一般学生类的定义
public class Student {
	/**
	 * 所有学生都有学习的方法
	 */
	public void study(){
		System.out.println("Student类中学习的方法,学生的名字是"+name);
	}
	//设定学生的名字
	public void setName(String name){
		this.name=name;

	}
	public String getName(){
		return name;
	}
	private String name;
}


在定义一个大学生的类:因为大学生也有姓名,和学习的方法,那么这些代码就不
需要再写.可以采用类的继承.
package 类的继承;
 
//继承Student的类
public class UNstudent extends Student {
	
	 public static void main(String args[]){
		 //创建大学生类的对象
		 Student uns=new UNstudent();
		 //调用方法,这些方法从父类中继承
		 uns.setName("王建辉");
		 uns.study();
	
	}
}

public class UNIstudent extends Student{
	public static void main(String args[]){
		 Student uns=new UNIstudent();
		 uns.setName("王建辉");
		 uns.study();
		
	}
	   //重写继承自父类的方法
	  public void study(){
	   System.out.println("UNIstudent学习,要独立,名字"+getName());
	  }
}
 


2.提高程序的扩展性

2.Java继承的语法格式
1.Java继承的关键字:extends
格式:
public class 类名(子类或者超类) extends 类名(父类或者基类) {

}
Java的类不可以同时继承多个父类,
Java类的继承只能是单继承。

3.子类能继承父类的属性和方法;子类能调用的属性和方法
子类能继承父类所有定义的属性和方法。

能调用的属性和方法:
1.子类和父类在同一个包下
能调用的属性和方法有public,protected和默认的
private的属性和方法是不能被调用。

2.子类和父类不在同一个包下:
在主函数中创建子类的对象,只可以调用公有的属性和方法
在子类中可以调用的有公有的,受保护的属性和方法

4.方法重写
条件
1.必须要存在继承关系
2.方法的返回值数据类型,方法名,参数个数,参数顺序,参数类型都必须要完全一致。
3.子类重写方法时,方法的访问修饰符可以大于或者等于父类方法的访问修饰符。

重写的原因:
因为子类和父类的属性值,和方法有差异

方法重写后是的调用:
优先调用子类的方法,如果子类没有才会调用父类的方法。

5.自动转型
必须要存在继承关系。
格式:
父类名 对象名 = new 子类构造方法();
Student stu = new UNStudent();

6.多态
多态是指相同类型的的对象调用相同的方法时由于方法重载,继承,
方法重写和自动转型,得到的结果不一定相同。
   
7.接口与抽象类
(1).接口的定义,特点,接口的继承,实现:
   定义格式:public interface 接口名[extends 父接口名列表]
   {
     常量数据成员说明
     抽象方法说明
   }

特点:1)使用interface关键字,接口中的方法只有声明,
没有方法主体;
如:
//定义一个PCI接口
public interface PCI{
    public void start();//定义一个开始的方法
     public void end();//定义一个结束的方法
}
接口中可以定义属性,但属性值为常量值。
      2)接口也具有继承性。与类的继承不同的是接 口可以有一个以上的父接口,它们之间用逗号隔开即实现多重继承。
      3)常量数据成员前的修饰符是public static final
     4)接口中的数据成员都是用final修饰的常量
      如:final static int n=10;
     5)类实现接口的注意事项
      实现时用:implement,调用多个接口时在implement
      后用逗号隔开;实现的接口若是abstract抽象类,它可以不实现改接口中的所有方法;若实现的不是abstract抽象类,在类的定义部分必须实现指定接口的所有抽象方法。
     6)当一个类实现多个接口,自动转为目某个接口类型时,只能调用其接口中定义的方法;
     7)接口不能直接创建对象;
(2).抽象类的定义,抽象类的特点,抽象类的继承
定义:public class abstract 类名{

  }
凡是被abstract修饰的方法为抽象方法。
特点:
     1)抽象类中可以有0个或多个抽象方法,也可以包含非抽象方法,但抽象方法的类必须是抽象类;
    2)抽象类中只指定其方法名和其类型,不书写其实现代码;
    3)抽象类可以派生子类,但派生的子类中必须实现抽象类中
定义的所有方法
    4)抽象类不能创建对象,创建对象的工作由抽象类
派生的子类实现
   5)若父类中已有同名的抽象方法,子类中就不能再有 同名的抽象方法;
   6)abstract不能与final并列修饰同一个类
   7)abstract不能与private,static,final,native,
修饰同一个方法
(3).类   抽象类  接口的区别
      1)定义方式不同
     类;public class 类名{
      }     
    抽象类:public abstract class 类名{
       }
     接口:public interface 接  接口名{
            }
     2)接口中没有自身的构造方法,所有成员方法都是抽象方法,而类中有自身的构造方法;
      3)类可以直接创建对象,抽象类和接口不能,但抽象类可以通过派生子类来创建对象;
      4)类继承时是单根继承,接口可以有多个父接口,接口中的数据成员都是final static (常量);类和抽象类中,数据成员可以是变量
 
















分享到:
评论

相关推荐

    JAVA_API1.6文档(中文)

    java.lang.management 提供管理接口,用于监视和管理 Java 虚拟机以及 Java 虚拟机在其上运行的操作系统。 java.lang.ref 提供了引用对象类,支持在某种程度上与垃圾回收器之间的交互。 java.lang.reflect 提供类...

    Java 面经手册·小傅哥.pdf

    这是一本以面试题为入口讲解 Java 核心内容的技术书籍,书中内容极力的向你证实代码是对数学逻辑的具体实现。当你仔细阅读书籍时,会发现Java中有大量的数学知识,包括:扰动函数、负载因子、拉链寻址、开放寻址、...

    java源码包---java 源码 大量 实例

    Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行ATM...

    JAVA上百实例源码以及开源项目

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    java源码包2

    Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行...

    java源码包4

    Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行...

    java源码包3

    Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行...

    java api最新7.0

    JAVA开发人员最新版本7.0 api文档!本文档是 Java Platform Standard Edition 7 的 API !Java 1.7 API的中文帮助文档。 深圳电信培训中心 徐海蛟博士教学用api 7.0中文文档。支持全文检索,在线即时查询。 里面列...

    java开源包11

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    java开源包4

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    java开源包6

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    java开源包9

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    java开源包5

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    java开源包8

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    java开源包10

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    Java开发技术大全(500个源代码).

    HelloWorldApp.java 第一个用Java开发的应用程序。 firstApplet.java 第一个用Java开发的Applet小程序。 firstApplet.htm 用来装载Applet的网页文件 第2章 示例描述:本章介绍开发Java的基础语法知识。 ...

    java开源包1

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    java开源包3

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    Java 中文入门学习手册合集[chm版]

    第一章 Java语言的产生及其特点 第二章 Java程序开发与运行环境 第三章 Java程序设计基础 第四章 Java应用程序的基本框架 第五章 Java的类 第六章 Java图形用户接口 第七章 多线程 第八章 Java的"异常" 第九...

Global site tag (gtag.js) - Google Analytics