Java复习之继承

这篇博客主要是总结一下类的继承的相关知识。

1.继承的基本概念
(1)继承是面向对象三大特征之一
(2)被继承的类称为父类,继承父类的类是子类
(3)继承是指一个对象直接使用另一个对象的属性和方法
(4)通过继承可以实现代码的重用

2.继承的语法
[访问权限] class 子类名 extends 父类名
{
类定义体;
}

3.继承的限制
(1)Java只能实现单继承,也就是一个类只能有一个父类
(2)允许多层继承,即:一个子类可以有一个父类,一个父类还可以有其他的父类。
(3)继承只能继承非私有的属性和方法
(4)构造方法不能被继承

4.子类的实例化过程
在子类进行实例化操作(也就是使用new关键字new对象的时候,这时便会调用构造方法)的时候,首先会先让其父类进行实例化操作,调用父类默认的构造方法。之后子类在自己进行实例化操作。

父类中无默认构造方法时,子类构造方法中必须必须显示的调用父类的构造方法,使用super()关键字,参数跟父类的构造方法相同。

5.方法重写
(1)定义
在java中,子类可继承父类中的方法,而不需要重新编写相同的方法。但是有时子类并非不想原封不动的继承父类的方法,而是想作一定的修改,这就需要采用方法重写。方法重写又称方法覆盖。
(2)特性
a.发生方法重写的两个方法返回值、方法名、参数列表必须完全一致
b.子类抛出的异常不能超过父类相应方法抛出的异常(子类的异常不能大于父类的异常)
c、子类方法的访问级别不能低于父类相应方法的访问级别(子类的访问级别不能低于父类的访问级别)

6.super关键字
(1)使用super调用父类中的属性
(2)使用super调用父类中的方法
(3)使用super调用父类中的构造方法

7.final关键字
(1)使用final关键字声明一个类
该类不能被继承
(2)使用final关键字声明一个方法
该方法不能被子类重写
(3)使用final关键字声明一个常量
该变量的值不能修改,最终的值
常量的赋值
(1)在声明的同时赋值
(2)可以通过构造方法赋值

ExtendDemo

public class ExtendsDemo {
    public static void main(String args[])
    {
        HomeChicken homeChicken = new HomeChicken();
        homeChicken.desc();
        System.out.println("====================");

        Pheasant pheasant = new Pheasant("小白");
        pheasant.desc();
    }
}
//父类
class Chicken1{
    String name;
    public Chicken1(String name)
    {
        System.out.println("Chicken:"+name);
    }

    public void desc()
    {
        System.out.println("我是一只鸡");
    }
}
//子类(家鸡)
class HomeChicken extends Chicken1
{
    public HomeChicken()
        {
            //表示父类的引用,必须是第一句
            super("小白");
            System.out.println("HomeChicken");
        }
}
//子类(野鸡)
class Pheasant extends Chicken1
{
    public Pheasant(String name)
    {
        super("小白");
        this.name=name;
        System.out.println("Pheasant");
    }
}

SuperKeyWordDemo

public class superKeyWordDemo {
    public static void main(String args[])
    {
        Duck1 duck1 = new Duck1("小黑",100);
        BlackDuck blackDuck=new BlackDuck("小白",300);
        blackDuck.desc();
        duck1.count();
    }
}
class Duck1 {
    protected String name;
    protected int price;

    public Duck1(String name,int price)
    {
        this.name=name;
        this.price=price;
    }
    public void count()
    {
        System.out.println("duck price is"+price);
    }
}
class BlackDuck extends Duck1{
    public BlackDuck(String name,int price)
    {
        super(name,price);
    }
    public void desc()
    {
        System.out.println("我是一只黑鸭子"+super.name);
        super.count();
    }

}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java复习代码完整可能比较长,这里提供一些常见的Java语法和示例代码,帮助您温习Java基础知识。 1. 基本数据类型 Java中有8种基本数据类型,分别是byte、short、int、long、float、double、boolean、char,其中byte、short、int、long、float、double是数字类型,boolean是布尔类型,char是字符类型。 示例代码: ```java byte a = 10; short b = 100; int c = 1000; long d = 10000; float e = 1.23f; double f = 3.1415926; boolean g = true; char h = 'A'; ``` 2. 数组 Java中的数组可以存储同一类型的多个元素,可以是基本数据类型,也可以是引用类型。 示例代码: ```java int[] array1 = new int[5]; int[] array2 = {1, 2, 3, 4, 5}; String[] array3 = new String[]{"hello", "world"}; ``` 3. 控制流程语句 Java中常见的控制流程语句有if-else、for、while、do-while和switch-case。 示例代码: ```java int score = 80; if (score >= 60) { System.out.println("及格了"); } else { System.out.println("不及格"); } for (int i = 0; i < 10; i++) { System.out.println(i); } int i = 0; while (i < 10) { System.out.println(i); i++; } int j = 0; do { System.out.println(j); j++; } while (j < 10); int num = 2; switch (num) { case 1: System.out.println("one"); break; case 2: System.out.println("two"); break; default: System.out.println("other"); break; } ``` 4. 类和对象 Java是一种面向对象的编程语言,类是Java中的基本单元,对象是类的一个实例。类包含属性和方法,属性是类的成员变量,方法是类的成员函数。 示例代码: ```java public class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public int getAge() { return age; } public void setName(String name) { this.name = name; } public void setAge(int age) { this.age = age; } public void sayHello() { System.out.println("Hello, my name is " + name + ", I'm " + age + " years old."); } } Person p = new Person("Tom", 20); p.sayHello(); ``` 5. 继承 Java中的继承是一种面向对象的编程技术,子类可以继承父类的属性和方法,并且可以添加自己的属性和方法。子类也可以重写父类的方法。 示例代码: ```java public class Animal { private String name; public Animal(String name) { this.name = name; } public String getName() { return name; } public void eat() { System.out.println(name + " is eating."); } } public class Dog extends Animal { public Dog(String name) { super(name); } @Override public void eat() { System.out.println(getName() + " is eating bone."); } public void bark() { System.out.println(getName() + " is barking."); } } Dog dog = new Dog("Tommy"); dog.eat(); dog.bark(); ``` 6. 接口 Java中的接口是一种特殊的抽象类,接口中可以定义方法和常量,但是不能有属性和方法的实现。接口可以被类实现,一个类可以实现多个接口。 示例代码: ```java public interface Flyable { int MAX_SPEED = 1000; void fly(); } public class Bird implements Flyable { @Override public void fly() { System.out.println("Bird is flying."); } } Bird bird = new Bird(); bird.fly(); ``` 7. 异常处理 Java中的异常是程序运行时出现的错误,可以使用try-catch语句来捕获和处理异常。 示例代码: ```java try { int a = 10 / 0; } catch (ArithmeticException e) { System.out.println("除数不能为0"); } finally { System.out.println("finally"); } ``` 以上是Java复习的一些基础知识和示例代码,希望对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值