Java学习Day029(继承和super关键字)

一.继承

1.1继承的概念
    继承是Java中实现代码重用的重要手段之一。Java中只支持单根继承,即一个类只能有一个直接父类

1.2继承的实现
    将多个类中重复性的属性和方法提取到一个新的类中(父类)
    在多个类中不再需要定义那些重复性的属性和方法,只需要定义自己类中独有的属性和方法
    那些重复性的属性和方法,只需要通过extends关键字继承就可以使用

1.3子类继承父类的什么
    1)继承public和protected修饰的属性和方法,不管子类和父类是否在同一个包里
    2)继承默认权限修饰符修饰的属性和方法,但子类和父类必须在同一个包里

1.4继承条件下构造方法的调用规则
    1)子类构造方法没有通过super显式调用父类的有参构造方法,也没通过this显式调用自身其他构造方法
        系统默认调用父类的无参构造方法
    2)子类构造方法通过super显式调用父类的有参构造方法
        执行父类相应构造方法,而不执行父类无参构造方法
    3)子类构造方法通过this显式调用自身的其他构造方法,在相应构造方法中应用以上两条规则


二.super关键字

2.1super关键字来访问父类的成员
    super只能出现在子类的方法和构造方法中
    super调用构造方法时,只能是第一句
    super不能访问父类的p

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java关键字是指在Java编程语言中具有特殊含义的单词。以下是Java关键字及其作用: 1. abstract:用于声明抽象类或抽象方法。 例子:abstract class Animal { public abstract void makeSound(); } 2. assert:用于断言一个条件是否为真。 例子:assert x > 0 : "x不能为负数"; 3. boolean:用于声明布尔类型变量。 例子:boolean isTrue = true; 4. break:用于跳出循环或switch语句。 例子:for (int i = 0; i < 10; i++) { if (i == 5) { break; } System.out.println(i); } 5. byte:用于声明字节类型变量。 例子:byte b = 127; 6. case:用于在switch语句中匹配一个值。 例子:switch (day) { case 1: System.out.println("星期一"); break; case 2: System.out.println("星期二"); break; } 7. catch:用于捕获异常。 例子:try { int result = 10 / 0; } catch (ArithmeticException e) { System.out.println("除数不能为0"); } 8. char:用于声明字符类型变量。 例子:char c = 'A'; 9. class:用于声明类。 例子:class Person { private String name; } 10. const:不再使用。 11. continue:用于跳过循环中的当前迭代。 例子:for (int i = 0; i < 10; i++) { if (i == 5) { continue; } System.out.println(i); } 12. default:用于在switch语句中指定默认情况。 例子:switch (day) { case 1: System.out.println("星期一"); break; case 2: System.out.println("星期二"); break; default: System.out.println("未知"); } 13. do:用于执行循环体。 例子:do { System.out.println("Hello"); } while (true); 14. double:用于声明双精度浮点类型变量。 例子:double d = 3.14; 15. else:用于在if语句中指定否则情况。 例子:if (x > 0) { System.out.println("正数"); } else { System.out.println("非正数"); } 16. enum:用于声明枚举类型。 例子:enum Color { RED, GREEN, BLUE } 17. extends:用于指定类的继承关系。 例子:class Student extends Person { private int age; } 18. final:用于声明常量或禁止子类重写方法。 例子:final int MAX_VALUE = 100; final void print() { System.out.println("Hello"); } 19. finally:用于指定无论是否发生异常都要执行的代码。 例子:try { int result = 10 / 0; } catch (ArithmeticException e) { System.out.println("除数不能为0"); } finally { System.out.println("执行完毕"); } 20. float:用于声明单精度浮点类型变量。 例子:float f = 3.14f; 21. for:用于执行循环。 例子:for (int i = 0; i < 10; i++) { System.out.println(i); } 22. goto:不再使用。 23. if:用于执行条件判断。 例子:if (x > 0) { System.out.println("正数"); } 24. implements:用于指定类实现接口。 例子:class Student implements Person { private String name; } 25. import:用于导入类。 例子:import java.util.ArrayList; 26. instanceof:用于判断对象是否为某个类的实例。 例子:if (obj instanceof Person) { System.out.println("是Person的实例"); } 27. int:用于声明整型变量。 例子:int x = 10; 28. interface:用于声明接口。 例子:interface Person { void sayHello(); } 29. long:用于声明长整型变量。 例子:long l = 10000000000L; 30. native:用于声明本地方法。 例子:public native void print(); 31. new:用于创建对象。 例子:Person p = new Person(); 32. package:用于声明包。 例子:package com.example; 33. private:用于指定私有访问权限。 例子:private String name; 34. protected:用于指定受保护访问权限。 例子:protected int age; 35. public:用于指定公共访问权限。 例子:public void sayHello() { System.out.println("Hello"); } 36. return:用于从方法中返回值。 例子:public int add(int x, int y) { return x + y; } 37. short:用于声明短整型变量。 例子:short s = 32767; 38. static:用于指定静态变量或静态方法。 例子:static int count = 0; static void print() { System.out.println("Hello"); } 39. strictfp:用于指定浮点数计算精度。 例子:public strictfp double add(double x, double y) { return x + y; } 40. super:用于调用父类的方法或构造方法。 例子:super.sayHello(); 41. switch:用于执行多重条件判断。 例子:switch (day) { case 1: System.out.println("星期一"); break; case 2: System.out.println("星期二"); break; } 42. synchronized:用于指定同步方法或同步代码块。 例子:public synchronized void print() { System.out.println("Hello"); } 43. this:用于指代当前对象。 例子:public void setName(String name) { this.name = name; } 44. throw:用于抛出异常。 例子:throw new RuntimeException("出错了"); 45. throws:用于声明方法可能抛出的异常。 例子:public void readFile() throws IOException { } 46. transient:用于指定变量不参与序列化。 例子:transient int count = 0; 47. try:用于捕获异常。 例子:try { int result = 10 / 0; } catch (ArithmeticException e) { System.out.println("除数不能为0"); } 48. void:用于声明无返回值的方法。 例子:public void sayHello() { System.out.println("Hello"); } 49. volatile:用于指定变量是易变的。 例子:volatile int count = 0; 50. while:用于执行循环。 例子:while (true) { System.out.println("Hello"); }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值