Java学习:在main方法中创建内嵌类对象与抽象类应用

需积分: 10 1 下载量 101 浏览量 更新于2024-07-13 收藏 126KB PPT 举报
"本课程讲解如何在Java编程中,在main方法中间接创建内嵌类的对象,同时也涉及到抽象类的概念和应用。" 在Java编程中,内嵌类(也称为内部类)是定义在一个外部类(这里称为外层类)内部的类。创建内嵌类的对象时,有一个特殊的规定:必须先创建外层类的对象,然后通过这个外层类对象来实例化内嵌类。例如在提供的代码片段中,`OuterOne`是外层类,`InnerOne`是内嵌类,创建`InnerOne`对象的语法如下: ```java OuterOne.InnerOne i = new OuterOne().new InnerOne(); ``` 在这个语句中,首先创建了`OuterOne`的一个实例,然后通过这个实例来创建`InnerOne`的实例。接着调用`innerMethod()`方法执行内嵌类的方法。 接下来,我们转向抽象类的概念。在Java中,抽象类是一种不能被实例化的类,它通常用于定义一个接口或者提供部分实现。抽象类可以用`abstract`关键字来标识。抽象类可以包含普通方法和抽象方法(没有方法体的方法)。例如: ```java abstract class Shape { abstract public double area(); } ``` 上述`Shape`类是一个抽象类,它定义了一个求面积的抽象方法`area()`。抽象方法没有具体实现,需要由其子类来完成。抽象类的主要作用是作为其他类的基类,这些子类必须实现抽象类中的所有抽象方法。 课程通过一个具体的例子展示了抽象类的应用。定义了一个名为`Shape`的抽象类,它代表一个抽象的“形状”概念,并包含一个抽象方法`area()`用于计算形状的面积。然后,我们有三个不同的形状类:`Triangle`(三角形)、`Rectangle`(矩形)和`Circle`(圆形),它们都继承自`Shape`抽象类,并提供了`area()`方法的具体实现。 例如,`Triangle`类定义了三角形的边长`a`、`b`和`c`,并重写了`area()`方法来计算三角形的面积。类似地,`Rectangle`类定义了宽度`width`和高度`height`,`Circle`类定义了半径`r`,它们各自实现了计算面积的方法。 在测试类`Test`的`main`方法中,创建了一个`Shape`类型的数组`s`,并将不同形状的对象(三角形、矩形和圆形)存储在其中。通过遍历数组并调用`area()`方法,我们可以输出每个形状的面积。 总结起来,这个Java学习课程涵盖了内嵌类的实例化以及抽象类的定义和应用。通过实例,学习者可以更好地理解如何在实际编程中利用这些概念来设计和实现类的层次结构。