1.什么是继承?
继承指的是一个对象使用另一个对象的属性及其方法。用extends关键字标识。
example: public class students extends people {} students类 继承于 people 类,在students类中可以使用people类中的相关属性及其方法。
2.普通方法,构造方法的区别
普通方法名不可以与类名相同,有返回类型,而构造方法名必须与类名相同,没有返回类型。
构造方法主要用于类的初始化,一个类中就算没有定义构造函数,加载运行时,会提供一个没有参数的构造函数,例:student s = new student(); s实例通过默认的构造方法进行初始化。普通方法主要用于对象调用。
3. 访问修饰符
private, default, protected,public 访问权限见下表:
访问控制级别
访问权限 | 同类 | 同包 | 子类 | 其他包 |
private | 是 | | | |
default | 是 | 是 | | |
protected | 是 | 是 | 是 | |
public | 是 | 是 | 是 | 是 |
4. 相关关键字
final,supel,this.
(1)final
final 类不可以被继承,final 方法不可以被重写,final 变量不可以改变。
(2)supel
用于调用父类的构造方法。
(3)this
用于区分一个类的成员变量和局部变量,this表示引用的是成员变量,而非局部变量
example:
string name; // 定义全局变量
class void changename(string name ) // 此处的name 是形参
{
this.name = name; // 通过this 将形参name的值赋给全局变量,此处也可省略 this, Java默认为左边为成员变量,右边为行参,但不易代码阅读;
}
5.引用传递/值传递
值传递(形式参数类型是基本数据类型): 传递给形参的只是值,不改变实际参数的值
引用传递(形式参数类型是引用数据类型参数):传递的是内存地址,形式参数修改后会改变实际参数的值。
6.父类引用子类实体,强制转换
例如父类Animal,子类Cat。Cat是继承或实现Animal的子类。
Animal animal = new Cat();
即声明的是父类,实际指向的是子类的一个对象。
为啥这么写呢?优点在哪?
定义一个父类类型的引用指向一个子类的对象既可以使用子类强大的功能,又可以抽取父类的共性。 所以,父类类型的引用可以调用父类中定义的所有属性和方法,而对于子类中定义而父类中没有的方法,父类引用是无法调用的;
强制转换里,必须知道父类类型的引用所指向的实体。 example : Animal animal = new Cat(); Cat an = (Cat)animal, 强制将animal转换为Cat.
ps: 新手入门,不足之处,多见谅! Thanks !!