类与对象及继承多态
来源:互联网 发布:3dmax测试软件 编辑:程序博客网 时间:2024/06/02 01:47
1.类与对象
类:虚体,以人的意识存在的,无实物,如人类
对象:实体,真实的物体,如桌子,人
面向对象——关注对象(只关注事情的执行者是谁)——结果不确定
面向过程——关注过程(关注事情的流程是怎么样做的)——结果能确定
面向对象三大特性:继承性、多态性、封装性
2.
1.构造器(构造方法)
作用:构造对象,创建对象的时候自动调用(即创建多个对象,将多次调用)
普通方法格式: public 返回类型 方法名(参数列表){}
构造方法基本格式:public 类名(参数列表){}
类名:需和所创的类名一致
在内存块中,一个栈对应一个堆,如果进行地址进行转换(引用传递),那么堆可对应多个栈。进行转换的地址将成为废除的空间。
引用传递:对象的地址进行交换
废除的空间,有java虚拟机垃圾回收机制进行回收
2.方法重载
定义:同一个类当中,多个方法的方法名相同,参数列表不同(参数个数、参数顺序、参数类型)的方法,互为重载方法
如参数个数不同,方法名相同(只要在调用时能区别所需函数就可)
如:
public void teach(){
System.out.println("上课");
public void teach(int a){
System.out.println("上课");
其他:
如
public void teach(string a){
System.out.println("上课");
public void teach(String a,int b){
System.out.println("上课");
public void teach(int b,String a){
System.out.println("上课");
构造函数重载:创建一个对象,只能调用一个构造函数
作用:初始化对象的属性
3.继承 (extends)(子类和父类关系)
定义 :子类继承父类通过extends关键字实现
如下列程序:
public class A extends d{
}
D为A的父类,A继承D
子类可以继承到父类的所有的非私有属性和方法:
即可继承程序中父类public指代的部分,而无法继承父类私有(private)的部分。
如:
public class D{
public String a; //可继承
private int b; //不可继承
public void t(){
System.out.println("测试");
作用:动态的进行拓展类的功能
4.方法重写
定义:子类重写父类的方法,方法名、参数、返回类型必须相同
如:在D中:
public void t(){
System.out.println("测试");
}
当不想在D中实现,想在A中重写
则在子类定义相同的方法:
public class A extends d{
public void t(){ //参数,返回类型都不可改,否则将是重载
System.out.println("测试");
}
}
此时,A中只有一个方法,从D继承的方法被重写的方法覆盖了
子类重写父类方法:用于覆盖父类继承过来的函数
5.自动转型
子类类型的对象自动转型为父类类型的引用,最终是父类类型的
如:
D obj=new A();//此转型两者必须要有继承关系,如老师一定是人
而:
A obj=new D();这是错误的,正如同是人,但你并不是老师
转型后的对象:调用方法,如果子类重写了父类的方法,则调用的是重写后的,如果没有重写,则依然调用的是父类自己的
6.多态
多个同一个类型的引用,调用同一个方法,执行的流程不一样
如:
D obj =new A();
D obj1 =new D();
obj.t();
obj1.t();
不同方法,结果相同
类:虚体,以人的意识存在的,无实物,如人类
对象:实体,真实的物体,如桌子,人
面向对象——关注对象(只关注事情的执行者是谁)——结果不确定
面向过程——关注过程(关注事情的流程是怎么样做的)——结果能确定
面向对象三大特性:继承性、多态性、封装性
2.
1.构造器(构造方法)
作用:构造对象,创建对象的时候自动调用(即创建多个对象,将多次调用)
普通方法格式: public 返回类型 方法名(参数列表){}
构造方法基本格式:public 类名(参数列表){}
类名:需和所创的类名一致
在内存块中,一个栈对应一个堆,如果进行地址进行转换(引用传递),那么堆可对应多个栈。进行转换的地址将成为废除的空间。
引用传递:对象的地址进行交换
废除的空间,有java虚拟机垃圾回收机制进行回收
2.方法重载
定义:同一个类当中,多个方法的方法名相同,参数列表不同(参数个数、参数顺序、参数类型)的方法,互为重载方法
如参数个数不同,方法名相同(只要在调用时能区别所需函数就可)
如:
public void teach(){
System.out.println("上课");
public void teach(int a){
System.out.println("上课");
其他:
如
public void teach(string a){
System.out.println("上课");
public void teach(String a,int b){
System.out.println("上课");
public void teach(int b,String a){
System.out.println("上课");
构造函数重载:创建一个对象,只能调用一个构造函数
作用:初始化对象的属性
3.继承 (extends)(子类和父类关系)
定义 :子类继承父类通过extends关键字实现
如下列程序:
public class A extends d{
}
D为A的父类,A继承D
子类可以继承到父类的所有的非私有属性和方法:
即可继承程序中父类public指代的部分,而无法继承父类私有(private)的部分。
如:
public class D{
public String a; //可继承
private int b; //不可继承
public void t(){
System.out.println("测试");
作用:动态的进行拓展类的功能
4.方法重写
定义:子类重写父类的方法,方法名、参数、返回类型必须相同
如:在D中:
public void t(){
System.out.println("测试");
}
当不想在D中实现,想在A中重写
则在子类定义相同的方法:
public class A extends d{
public void t(){ //参数,返回类型都不可改,否则将是重载
System.out.println("测试");
}
}
此时,A中只有一个方法,从D继承的方法被重写的方法覆盖了
子类重写父类方法:用于覆盖父类继承过来的函数
5.自动转型
子类类型的对象自动转型为父类类型的引用,最终是父类类型的
如:
D obj=new A();//此转型两者必须要有继承关系,如老师一定是人
而:
A obj=new D();这是错误的,正如同是人,但你并不是老师
转型后的对象:调用方法,如果子类重写了父类的方法,则调用的是重写后的,如果没有重写,则依然调用的是父类自己的
6.多态
多个同一个类型的引用,调用同一个方法,执行的流程不一样
如:
D obj =new A();
D obj1 =new D();
obj.t();
obj1.t();
不同方法,结果相同
0 0
- 类与对象及继承多态
- 面向对象思考及go实现继承与多态
- 继承与多态 类对象
- 类与对象-继承
- 继承与多态及抽象类与接口
- 《C#面向对象程序设计》新教案发布:《继承、接口与多态》和《委托及事件》
- 【C++面向对象】类继承、多态与virtual成员
- B 类 对象 继承 多态与动态绑定
- 面向对象中的继承与多态
- 类和对象与继承
- 继承与接口、多重继承及虚继承、多态与友元
- Java学习笔记——类与对象(封装、继承与多态)
- 创建对象及继承
- js对象及对象继承
- JavaScript 面向对象程序设计(下)--继承与多态
- 【JavaScript】面向对象程序设计-继承与多态
- 面向对象编程:继承、接口与多态
- 黑马程序员-面向对象中的继承与多态
- 监听和通知
- 指针数组和数组指针
- 第9周课后实践 阅读程序,请写出这些程序的运行结果(1)
- 对某APP的逆向之旅(1)
- bitmap格式分析
- 类与对象及继承多态
- ArduBlock 多久没更新了-安装很简单on mac
- LeetCode:Find the Duplicate Number
- android开发笔记之网络编程—使用TCP协议和URL进行网络编程
- 各种浏览器内核的比较
- 项目笔记0001
- Facebook推荐系统的原理、性能及使用情况
- 点击图片产生水波的动画效果代码展示
- 键盘记录器