类的继承
类继承的格式:
Public class 类名 extends 父类名{
}
注意:java中类的继承是单继承,即extends后只有一个父类。
例:public class UNSstudent extends Student{}
子类继承父类中的方法时有两种情况:
如果子类和父类在同一个包下,那么父类中的公有属性,受保护属性以及普通方法可以被子类继承,而私有属性、方法及构造方法不能子类继承。
如果子类和父类不在同一个包下,那么父类中的公有属性及普通方法可以被子类继承到,而私有属性及方法和受保护的属性及方法、构造方法不能被子类继承到。
方法的重写
如要实现方法的重写必须满足的条件:
1) 两个类必须存在继承关系;
2) 子类重写方法的访问修饰符必须大于或等于父类方法的访问修饰符private<protected<public。
3) 方法的返回值数据类型,方法名,参数类型、个数及顺序都必须形同。
注意:如果子类中没有重写方法,那么调用时会优先执行父类中的方法,如子类中重写了方法,那么调用时就会先执行子类中的方法。
自动转型
条件:必须存在继承关系。
格式
1父类名 对象名=new 子类构造方法();
Student un = new UNSstudent();
2 定义方法
Public 返回值数据类型 方法名(父类名 对象名){
代码
}
实例化对象
父类名 对象名=new 子类构造方法();
子类名 对象名=new 子类构造方法();
调用:方法名(对象名)
多态:多态是由java的方法重载,继承,方法重写,自动转型等技术的表现形式。
多态是对象之间的不同表现形态。
面向对象的三大特征:
1. 继承
2. 多态
3. 封装
接口
定义接口:
public interface 接口名 extends 接口名,…{}
接口中可以定义常量:
public static final 数据类型 常量名= 值;
例如 public static final String NAME=”li”;(常量名必大写)
定义抽象方法:
public 返回值数据类型 方法名(数据类型 参数名,…);
注意:这里没有大括号,而是用分号。
注意:
1接口中默认的访问修饰符是public,
2 接口中可以定义抽象方法
3接口可以继承多个接口,用逗号分隔开即可,
4接口不能实例化对象。
实现接口的格式:
Public class 类名 implements 接口名,…{
//要实现接口中可全部抽象方法
}
接口可以实现类或抽象类然后在实现多个接口
格式:
public class 类名 extends 类名或抽象类 implements 接口名,…{
//实现抽象类中和接口中的所有抽象方法
}
接口和类的区别:
1. 定义的关键字不同,前者为implements,后者为class;
2. 接口中默认的访问修饰符是public,类中默认的是protected;
3. 接口中只能定义常量和抽象方法,而类中可以定义常量,属性,方法;
4. 接口可以多继承,而类是单继承;
5. 接口中不可以实例化对象,类中可以实例化对象。
public interface Drawing{
//定义常量
public static final String NAME=”圆”;
//定义抽象方法
public void draw();
}
抽象类
定义抽象类
public abstract class抽象类名{
}
抽象类中可以定义类中有的任何属性方法,但不能实例化对象。
可以定义常量(常量名的各个字母都要大写),
还可以定义抽象方法,格式:
public abstract 返回值数据类型 方法名(数据类型 参数名,……);
抽象类也可以继承,其格式为:
public abstract class抽象类 extends 抽象类或类{
//抽象类中的抽象方法可以实现也可以不用实现
}
1.抽象类是继承类和接口所有特性的类。
2.抽象类和接口都是比较特殊的类。
3.抽象类和接口都不能实例化对象。
public abstract class Absdraw{
//定义常量
public static final String NAME=”圆”;
//属性
private String type;
//构造方法
public Absdraw (String type){
this.type = type;
}
//普通方法
public void setType(String type){
this.type = type;
}
public String getType(){
return type;
}
//定义抽象方法
public abstract void draw();
}
分享到:
相关推荐
Java抽象类与接口实验报告
总结来说,C#中的抽象类和接口是面向对象编程的重要工具,它们帮助我们设计出模块化、可扩展的代码。抽象类提供了一个基本结构,并强制子类实现特定的方法,而接口则定义了对象必须遵循的规范。理解并合理运用这两者...
抽象类和接口实验报告
1.继承及继承实例 2.方法重写(Overwrite) 3.super关键字 4.方法重载(Overload) 5.final修饰符 6.abstract修饰符 7.抽象类 8.接口 9.接口和抽象类对比 10.接口和抽象类使用场合实例 11.总结
### JAVA继承基本类、抽象类、接口的区别与联系 #### 一、概述 在Java语言中,类(Class)的设计是面向对象编程的核心之一。Java提供了三种方式来扩展类的功能:基本类、抽象类和接口。这三者之间既有相似之处,也...
总结来说,理解和掌握Java中的接口和抽象类是成为一名优秀Java开发者的关键。选择使用哪种方式取决于具体的需求和设计目标,灵活运用它们可以帮助我们编写出更高效、更易于维护的代码。通过阅读"java中接口与抽象类...
### 抽象类与接口详解 #### 一、引言 在Java编程语言中,抽象类(abstract class)和接口(interface)是两种非常重要的概念,它们为开发者提供了定义抽象行为的能力,从而使得代码更加灵活且易于扩展。尽管这两者...
抽象类和接口 在 Java 编程语言中,抽象类和接口是两种基本的编程概念,它们都是定义类的蓝图,但它们之间有着本质的区别。 一、抽象类 抽象类是一种特殊的类,它不能被实例化,必须被继承。抽象类提供了一种定义...
### Java抽象类与接口的区别 #### 一、引言 在Java编程中,抽象类(Abstract Class)与接口(Interface)都是实现抽象的关键工具。它们各自有着独特的优势和适用场景,掌握这两者的区别有助于开发者更好地设计系统...
总结而言,选择抽象类还是接口取决于具体的应用场景和需求。在设计系统架构时,理解并正确使用这两种工具是非常重要的。抽象类和接口的合理运用能够帮助我们更好地组织代码,提高代码的复用性和可维护性。
1. **接口设计**:当需要定义一组方法供多个类实现时,可以使用抽象类和抽象方法作为基础模板,确保这些类有一致的行为。 2. **代码框架**:提供一个初始结构,让子类可以在此基础上添加特定的实现细节。 3. **多态...
总结来说,抽象类和接口都是用于实现多态性的工具,但它们有明显的区别: 1. 抽象类可以包含非抽象方法和字段,而接口仅包含常量和抽象方法。 2. 一个类可以继承一个抽象类,但可以实现多个接口。 3. 抽象类提供了一...
总结,接口、内部类和抽象类是Java中重要的面向对象设计工具,它们各有特点,开发者应根据需求灵活选择和组合使用,以实现高效且易于维护的代码结构。在阅读和理解他人代码时,理解这些概念及其差异同样至关重要。
### 接口与抽象类详解 #### 一、引言 接口与抽象类是面向对象编程中的两个核心概念,它们都是为了实现代码的重用性和灵活性而设计的。本文将详细探讨接口与抽象类的区别,并结合实际编程场景来分析何时使用接口、...
"接口抽象类正规版资料.ppt" 这份 ppt 资料主要讲解了 Java 中的接口和抽象类的概念。下面是这份资料的知识点总结: 1. 接口的定义和使用:在 Java 中,接口是一种抽象的概念,用于定义一组抽象方法和常量。接口的...
总结一下,Java中的抽象类和接口都是实现多态和代码复用的关键工具。抽象类可以包含部分实现,提供一个基本结构,而接口则强制实现特定的方法,强调行为的一致性。选择使用抽象类还是接口通常取决于设计需求,如是否...
总结一下,Java中的抽象类和接口是实现面向对象设计的关键工具。抽象类定义了子类的公共行为,而接口定义了对象必须遵循的行为规范。两者都支持多态性,允许编写更灵活、可扩展的代码。在实际编程中,根据需求选择...
总结,抽象类、接口、内部类和异常是Java面向对象编程的重要组成部分,它们提供了不同层次的抽象和组织代码的方式,同时异常处理确保了程序在遇到问题时能够优雅地恢复或结束。理解并熟练运用这些概念对于编写健壮、...
### Java中抽象类的学习总结 #### 一、抽象类的概念与特点 抽象类是Java编程语言中的一个重要概念,主要用于提供一种部分实现的功能,并允许子类完成剩余的实现。抽象类的特点如下: - **抽象方法**: 在定义Java...