抽象类、final关键字。

final:

1.修饰符变量--->常量,运行的过程中无法重新赋值。
2.修饰符方法--->最终的方法,在子类中无法重写
3.修饰类--->最终的类,不能被继承。

抽象类作用:通过抽象类,可以避免子类设计的随意性。
* 通过抽象类,我们就可以做到严格限制子类的设计,使子类之间更加通用
*抽象方法:使用abstract修饰的方法,抽象方法没有方法体.
*抽象类:使用abstract修饰的类,抽象类中可以包含抽象方法。非抽象类不能包含抽象方法。
*包含抽象方法的类一定是抽象类, 抽象类中可以没有抽象方法。
*抽象类中可以包含构造方法,抽象类不能实例化,不能使用new关键字创建抽象类的对象.(抽象类不能new)
*Person p = new Person();//错误
*抽象类天生就是为继承设计。
*抽象类的子类必须重写抽象类中的抽象方法或者子类也是抽象类。
*/

=======================================================================================================

例:

public abstract class Person {
String name;
int age;
public Person(){

}

public void intro(){
System.out.println("姓名:"+name);
System.out.println("年龄:"+age);
}
//吃的方法
public abstract void eating();

}

*
* 子类继承了抽象类,就必须重写(实现)父类中抽象方法。
*
*/
public class Chinese extends Person {
public Chinese() {
}
public Chinese(String name,int age){
this.name=name;
this.age=age;
}

// 重写父类中抽象方法
@Override
public void eating() {
System.out.println("我是中国人,我喜欢吃饺子!");
}

}

ublic class American extends Person {
public American() {
}

public American(String name,int age){
this.name=name;
this.age=age;
}
=======================================================================================================
@Override
public void eating() {
System.out.println("我是美国佬,我喜欢吃牛排!");
}

public static void main(String[] args) {
Person p = new Chinese("小三",18);
p.intro();
p.eating();

Person p2 = new American("rose",20);
p2.intro();
p2.eating();
}
}

时间: 2024-08-05 07:23:21

抽象类、final关键字。的相关文章

JAVA之旅(七)——final关键字 , 抽象类abstract,模板方法模式,接口interface,implements,特点,扩展

JAVA之旅(七)--final关键字 , 抽象类abstract,模板方法模式,接口interface,implements,特点,扩展 OK,我们继续学习JAVA,美滋滋的 一.final 我们来聊聊final这个关键字 final可以修饰类,方法和变量 final修饰的类不可以被继承 final修饰的方法不可以被覆盖 final修饰的变量是一个常量,只能被赋值一次 内部类只能访问被final修饰的局部变量 final,故名思意,就是最终的意思,由以上的五种特性,不过final的出现,也是有

第十三节(super关键字、final关键字、抽象类))

super 关键字的作用: 调用父类的构造方法 调用父类的成员方法 需要注意:super 只能应用在成员方法和构造方法中,不能应用在静态方法中(和 this 是一 样的) ,如果在构造方法中使用必须放在第一行 为什么会有 super 关键字? 因为子类必须要调用父类的构造方法,先把父类构造完成,因为子类依赖于父类,没有父,也就没有子有时需要在子类中 显示的调用父类的成员方法 那么我们以前为什么没有看到 super,而且我们也有继承,如:Student 继承了 Person ? 因为子类中我们没有

【Java知识点总结】 final关键字与抽象类

final关键字: 概念: 学习了继承我们发现继承有一个弊端,就是它会打破封装性:如果不让其他类继承该类,就不会有重写了,→可以通过Java中的几个关键字来实现,final(最终化). final关键字是一个修饰符,可以修饰类.方法.变量(成员变量.局部变量.静态变量). 什么时候用? 当程序中一个数据使用时是固定不变的,这时为了增加阅读性,可以给该数据起个名字,这就是变量,为了保证这个变量的值不被修改,加上final修饰,这就是一个阅读性很强的常量.书写规范:被final修饰的常量名所有的字母

5.4-全栈Java笔记:面向对象进阶之对象的转型 | FINAL关键字 |抽象方法和抽象类

对象的转型(casting) 引用变量只能调用它编译类型的方法,不能调用它运行类型的方法.这时,我们就需要进行类型的强制转换! [示例1]对象的转型 public class   TestCasting { public static void   main(String[] args) { Object obj = new   String("北京");  //向上可以自动转型 //obj.charAt(0)      //无法调用.编译器认为obj是Object类型而不是Strin

java——super关键字、final关键字、抽象类、接口

super关键字: 当父类被重写之后,子类对象无法访问父类被重写的方法,super就是为了解决这个问题: 1.使用super关键字访问父类的成员变量和成员方法: super.成员变量 super.成员方法([参数1,...]) 2.使用super关键字访问父类的构造方法:(尽量在类中定义一个无参的构造方法,避免继承时出现错误). final关键字: 1.final关键字修饰的类不可被继承. 2.final关键字修饰的方法不可被重写. 3.java中被final修饰的变量称为常量,一旦被赋值,其值

Java基础第9天+final关键字、多态(上转型,下转型)、抽象类(特点,成员特点)、接口(特点,成员特点)

1:final关键字(掌握) (1)是最终的意思,可以修饰类,方法,变量. (2)特点: A:它修饰的类,不能被继承. B:它修饰的方法,不能被重写. C:它修饰的变量,是一个常量. (3)面试相关: A:局部变量 a:基本类型 值不能发生改变 b:引用类型 地址值不能发生改变,但是对象的内容是可以改变的 B:初始化时机 a:只能初始化一次. b:常见的给值 定义的时候.(推荐) 构造方法中. 2:多态(掌握) (1)同一个对象在不同时刻体现出来的不同状态. (2)多态的前提: A:有继承或者实

面向对象编程(十二)——final关键字

阅读目录 final关键字final修饰变量final修饰方法final修饰类Final && Static 总结 final关键字 Java关键字final有"这是无法改变的"或者"终态的"含义,它可以修饰非抽象类.非抽象类成员方法和变量. 在Java中,final关键字可以用来修饰类.方法和变量(包括成员变量和局部变量). 回到顶部 final修饰变量 final修饰变量:该变量变成常量 对于一个final变量,如果是基本数据类型的变量,则其数值

重新认识java(七) ---- final 关键字

你总以为你会了,其实你只是一知半解. final 关键字概览 final关键字可用于声明属性.方法.参数和类,分别表示属性不可变.方法不可覆盖.参数不可变和类不可以继承. 我们来分别看看它的用法. final关键字是一个比较简单的知识点,所以这篇文章我写的比较舒服,你看着也比较舒服.因为,很简单呀~ final 属性 被final修饰的属性不可变.这种不可变的属性,我们可以称之为"常量".这种常量大体上有两种表现形式.先来看下面的代码: public class FinalAttrib

static与final关键字详解

接口(interface):接口的地位等同于class.接口中的所有方法都是抽象方法.在声明接口中的方法时,可以使用abstract关键字,也可以不使用.通常情况下,都会省略掉abstract关键字. 可以将接口看作特殊的抽象类(抽象类可以有具体方法,也可以有抽象方法,而接口中只能有抽象方法,不能有具体方法). 类可以实现接口.实现用implements表示,代表了某个类实现了某个接口. 一个类实现了某个接口,那么该类必须要实现接口中声明的所有抽象方法.如果该类是抽象类,那么就无需实现接口中的方

final关键字解析&匿名内部类形参用final

谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字,另外,Java中的String类就是一个final类.一.final关键字的基本用法在Java中,final关键字可以用来修饰类.方法和变量(包括成员变量和局部变量).1.修饰类当用final修饰一个类时,表明这个类不能被继承.也就是说,如果一个类你永远不会让它被继承,就可以用final进行修饰.final类中的成员变量可以根据需要设为final,但是要注意final类中的所有成员方法都会被隐式地指定