200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 继承 方法重写 super final关键字

继承 方法重写 super final关键字

时间:2022-10-05 12:36:08

相关推荐

继承 方法重写 super final关键字

继承

* 子承父业

*

* 为什么要继承:

* 为了提高代码的服用性

* 如何使用继承:

* 子类 extends 父类 使用继承

*

* 注意:

* 1.子类继承父类,可以使用父类中所有的成员

* 2.在java中只支持单继承,一个java类可以被多个子类继承的,一个java类只能继承一个父类,但是支持多实现

*

* 单继承的缺点:

* 不便于后期维护

* 单继承的优点:

* 使用简单(加入继承了多个父类,中有限相同的成员,不变化于判断和使用)

public class ExtendsDemo04 {public static void main(String[] args) {Student s = new Student();s.name = "马云";s.age = 19;s.info();s.study();s.sleep();Teacher t = new Teacher();t.name = "因为";t.age = 18;t.info();t.teach();t.sleep();}}// 父类class Person1 {// 名字String name;// 年龄int age;// 休息public void sleep() {System.out.println("休息...");}}// 教师类class Teacher extends Person1 {// 专业String subject;// 授课public void teach() {System.out.println(name + "在传授知识...");}// 介绍public void info() {System.out.println(name + "-->" + age + "--->" + subject);}}// 学生类class Student extends Person1 {// 家乡String hometown;// 学习public void study() {System.out.println("学java....");}// 介绍public void info() {System.out.println(name + "-->" + age + "--->" + hometown);}}

权限修饰符

* 权限修饰符 : 访问对象中成员的权限范围

* 本类 同包类 不同包子类 全部 --从小到大的访问范围

* private Y

* default Y Y

* protectedY Y Y

* public YY Y Y

*

* 注意:

* 1所有的被private修饰的成员都不能再外部访问,也不能被子类继承

* 2以上所有的权限修饰符都只能修饰成员(方法和成员变量)

* 3只能用public,default修饰类,default要省略

*

* 父类:基类

* 子类:派生类

*

* 开闭原则:

* 对修改关闭,对扩展开放

public class ModifierDemo05 {public int a=5;protected int b=4;int c=3;public static void main(String[] args) {Sicong s=new Sicong();s.test();//s.lover=""; 私有不可见}}class Janlin{//钱public long money=2000000000;//小蜜private String lover="西施";//颜值String face="帅";//heightprotected double height=180;//私房钱public void sifang(){System.out.println("每个月给"+lover+"1000000零花钱...");}}class Sicong extends Janlin{//事业public void shiye(){System.out.println("熊猫TV...");}public void test(){System.out.println("public:"+money);//System.out.println("private:"+lover);System.out.println("default:"+face);System.out.println("protected:"+height);ModifierDemo05 m=new ModifierDemo05();System.out.println(m.a);System.out.println(m.b);System.out.println(m.c);}}

重写

* 重写(override) --- 重载(overload)

* 重载:同一个类中,不同的方法之间有相同的方法名,不同的参数类表

* 满足重写的条件:

* 1.不同的类

* 2.继承

* 3.相同的方法签名(方法名+参数列表)

*

* 子类中重写父类中的方法,调用的时候,会对父类的方法进行屏蔽

* 方法的重写和重载都是针对于方法而言的

*

* 判断重写的依据:

* 1.左边有一个向上的三角形

* 2.在方法的上面添加一个注解@Override,用来测试是否重写的方法

*

* = : 方法签名

* <= : 方法的返回值类型 基本数据类型必须相同 引用数据类型:子类<=父类

* >= : 权限修饰符 子类>=父类

*

* 不能被重写的方法:

* 1.被private修饰的方法不能被重写

* 2.被final修饰的方法不能被重写

* 3.被static修饰的方法不能被重写

*

* 注意:如果子父类中有方法签名相同方法,父类中的同名被static修饰了,子类中的方法也要添加static

public class OverrideDemo06 {public static void main(String[] args) {Sicong1 s = new Sicong1();s.speak();s.test();System.out.println(s.name);Jianlin j = new Jianlin();j.speak();j.test();}}// 父类class Jianlin {String name = "Jianlin";public void speak() {System.out.println("先定一个小目标,赚他个一个亿...");}static Jianlin test() {System.out.println("父类");return new Jianlin();}}// 子类class Sicong1 extends Jianlin {String name = "Sicong";public void speak(int a) {System.out.println("我交朋友从来不在乎他有没有钱,反正都没我有钱...");}public static Sicong1 test() {System.out.println("子类");return new Sicong1();}}

super关键字

* super()

* 调用父类的构造器,会在子类构造器的首行,隐式的调用父类的空构造

* 显示父类的其他构造器,super(参数列表)

* 注意:this和super在调用构造器的时候不能同时存在

* super.

* 指代父类对象,区分父类子类中同名成员

*

* super和this都不能使用在静态的内容中

* 先父类后子类

* 在没有显示调用父类构造器的时候,保证父类中有空构造

final关键字

* final 关键字

* 被final修饰变量为常量----不能改变

* 被final修饰的方法不能被重写

* 被final修饰的类不能被继承

Javabean

* private关键字 私有成员修饰符 ,不能修饰成员变量

* 把属性私有化 ,对外提供公共的访问方式,setter和getter

*

* 提高代码复用性,安全性,便于后期维护

*

* private是辅助的一种体现

*

* Javabean编码规则:

* 必须声明public class

* 至少存在一个无参构造方法

* 所有属性必须封装

* 为封装属性提供公共的访问方式

public class Person {String name;private int age;public Person() {// TODO Auto-generated constructor stub}public void setAge(int age) {this.age = age;}public int getAge() {return age;}public void eat() {System.out.println(name + "--->" + age + "--->" + "eat...");}}class PersonTest {public static void main(String[] args) {Person p = new Person();p.name = "李四";p.setAge(18);p.eat();}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。