JAV中一些基本概念:构造函数、方法重载、继承、方法重写、多态。

1.构造函数:任何一个类(接口)都会有默认的构造函数,它的作用是用来构造
对象,同时初始化当前对象的一些属性,格式:public 类名(参数){}


2.方法重载:同一个类中,多个方法名相同,参数不同(参数个数、参数顺序、
参数类型)的方法互相为方法重载;
构造函数:如果构造函数被重载后,默认无参的构造函数就不存在了,如果
还需要使用默认的构造函数,则需要显性的定义出来,下面以实际函数说明
public class Student{
public String name;


//默认的构造函数,本来为隐藏的,添加一个输出证明当函数调用Student类
时执行了默认的构造函数
public Student(){
        System.out.println("执行了构造函数!!");
}


//下面是默认构造函数的重载函数,同样添加输出证明该函数被执行了
public Student(String str){
name = str;
System.out.println("执行了构造函数2");
}
}


public class Test{
public static void main(String[] args){
Student stu;//声明引用变量
stu = new Student();//此处执行了默认构造函数
stu.name = "张三";


Student stu1 = new Student("李四");//此处执行了重构的构造函数


System.out.println(stu.name);
System.out.println(stu1.name);
}
}
运行Test得到输出为:执行了构造函数!!
   执行了构造函数2
   张三
   李四


3.继承
关键字:extends 
子类继承父类:子类可以继承父类的所有非私有的属性和函数


4.方法重写
定义:子类重写父类的方法,方法名和参数返回值必须都一致


5.自动转型
条件:建立在继承基础上,子类对象自动转型为父类变量
特性:转型之后的对象执行函数,如果当前函数子类重写过了,则执行的还是重写后的方法


6.多态
多态性:同一类类型的变量引用,执行同一个方法,执行结果不一致


下面通过函数的运行来说明上述四个知识点
首先创建一个Student类
public class Student{
public String name;
public int age;

public void study(){
System.out.println("学生在学习");
}
}


再创建一个MiddleStudent类
public class MiddleStudent extends Student{//此处MiddleStudent类继承了父类Student类
public void study(){
System.out.println("中学生在学习");//此处重写了父类Student类的study方法
}
public void study(String s){
System.out.println("中学生在学习1");
}//上面五行代码体现了函数重构
public void play(){
}
}


下面是调用两个类
public class Test{
public static void main(String[] args){
Student ms = new MiddleStudent();//自动转型
Student stu = new Student();


ms.name = "张三";
ms.study();
stu.study();
}
}
运行后输出为:中学生在学习
     学生在学习
说明:从输出结果看到同一Student类类型的变量引用,执行同一个Study方法,执行结果不一致
      体现了多态性,同时也说明多态性必须在方法重写和自动转型出现时才可能体现出来,
而方法重写和自动转型是建立在继承的基础上。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值