Guardianship_通过本文主要向大家介绍了java,面向对象,class等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
代码块
什么是代码块?
代码块简单来说就是一对“{ }”,在大括号中写入内容
代码块有哪几类?
1、局部代码块
位置:在方法中
定义在方法中,限制了代码块中变量的声明周期
2、静态代码块
位置:在类中,方法外
特点:用于给类进行初始化,随着类的加载而加载,只会执行一次
作用:用于加载驱动程序,用于加载JDBC连接数据库
3、构造代码块
位置:在类中,方法外
用于给你所有的对象进行统一初始化
4、同步代码块
继承
什么是继承?
继承是类与类之间的一种关系,是面向对象思想的特征之一,关键次是extends
继承的特点是什么?
1、提取了几个类中共有的代码部分,写成一个父类
2、减少了代码的编写,减少了工作量
满足继承的逻辑条件是什么?
满足类与类之间是 is - a 的关系,一个类是另一个类的一种
this和super
this:代表的是本类对象的引用
super:代表父类对象的引用
重写和重载的定义与区别?
重写:一般出现在类与类的继承中,子类和父类中有相同的函数,这时候出现子类函数将父类函数重写的现象。
重载:一般在类中,出现函数名相同,但是参数列表不同的情况。
继承的时候子类与父类出现同名成员变量和同名方法怎么解决?
代码示例:
public class Demo05this语句 { public static void main(String[] args) { Apple apple = new Apple(); apple.print(); } } class Fruit{ int num2 = 20; public void print() { System.out.println(this.num2); } } class Apple extends Fruit{ int num2 = 30; public void print() { super.print(); System.out.println(this.num2); System.out.println(super.num2); } }
同名变量:在子类中使用super.变量名的方式调用、输出。注意这是一个值,不可单独做语句,需要语句接收或者直接输出
同名方法:建立对象调用方法,出现父类方法被覆盖的现象,这时候可以在方法中使用super.方法名的方式进行调用父类方法
final关键字的作用?
1、修饰类:类不可别继承
2、修饰变量:变量仅可被初始化一次,之后数值无法更改,变量名大写,单词之间用"_"隔开
3、修饰方法:方法不可被重写
类的内容的书写顺序是什么?
私有化成员变量
静态代码块
构造代码块
构造函数
成员函数(局部变量)
继承的正规代码书写格式
代码示例:
public class Demo08示范继承类 { public static void main(String[] args) { Teacher A = new Teacher("wangning",18); A.Teach(); Teacher B = new Teacher(); B.setName("sss"); B.Teach(); } } class Person { private String name; private int age; public Person() { } public Person(String name,int age) { this.name = name; this.age = age; } public void setName(String name) { this.name = name; } public String getName() { return name; } public void setAge(int age) { this.age =age; } public int getAge() { return age; } } class Teacher extends Person { public Teacher() { } public Teacher(String name,int age) { super(name,age); } public void Teach() { System.out.println(this.getName()+"讲课"); } }
如何修改被私有化的成员变量的值?
1、当类不被继承的时候
- 使用构造函数进行初始化
- 建立对象后,使用set和get方法进行操作
2、当类被继承的时候
- 使用子类构造函数,并使用super()语句实现操作
- 建立对象使用父类set和get方法实现操作