JAVA基础--继承

来源:互联网 发布:知羽相册模板打包下载 编辑:程序博客网 时间:2024/05/16 09:41

1.什么是继承?
继承(extends)是从已有的类中(父类)派生出新的类(子类),子类具有父类的属性和行为,并可以在父类的基础上增加新的属性、行为。例如:
public class People()
{
string name;
int age;
void eat(){System.out.println(“人在吃饭”);}
}
public class Student extends People()
{
void study(){}
}
父类People具有 name、age属性和eat行为;子类Student继承父类People,同样具有 name、age属性和eat行为,此外还增加了study行为。

2.继承的好处:代码重用、实现多态的基础。

3.访问修饰符的权限:
public 当前类 当前包 包外子类 外部包。
protect 当前类 当前包 包外子类。
默认 当前类 当前包。
private 当前类。

4.普通方法和构造方法的处理。
普通方法:若希望父类中的方法不被子类继承,可将其用private修饰。子类也通过重写重新定义父类中的方法。
构造方法:若父类中定义了带参数的构造函数,那么子类中也要定义一个有参构造函数;构造函数的调用顺序:先调用父类,再调用子类。

5.相关关键字final、super、this
》若用final修饰某个属性or方法,则该属性or方法可以被继承,但不能被重写。例如:People类中有final String name=”dd”,那么它的子类Student不能改变name的值。
》若用final修饰某个类,那么该类不能被继承。
》this//用来调用自己的方法、属性。
》super//调用父类的方法。
例:在Student类中:
void eat()//重写父类中的方法eat。
{
super.eat();//调用父类的方法eat。
System.out.println(“学生在吃饭”);
}

6.引用传递、值传递
引用传递的是对象的地址–复杂数据类型;
值传递的是变量的值–基本数据类型。

7.数据类型及如何保存
数据类型分为:引用型数据类型(又称复杂数据类型)和基本数据类型(boolean,char,byte,short,int,long,float,double)。
基本数据类型保存在栈中;
引用型数据类型的保存举例:
Student s=new Student();
//Student s==》声明一个学生(引用)
//new Student();==》创建一个学生(实体)
这里写图片描述
栈:读取速度快,容量小(保存一个内存地址,相当于门牌号);
堆:读取速度慢,容量大;

8.父类引用指向子类实体。
=》父类引用指向子类实体
People p1=new Student();//p1声明为Peaple类,不能调用Student的方法即不能p1.study();若要调用Student类的方法则需进行强制转换。
=》强制转换
if(p1 instanceof Student)
{
Student s1=(Student)p1;//强制转换时,不能确定p1是什么类型,所以要用if判断。
}


— — —学习日记 2016/5/29

0 0