首页 > 编程语言 > 详细

写写java学习过程中_面向对象、继承

时间:2017-02-13 16:28:50      阅读:197      评论:0      收藏:0      [点我收藏+]

传递

定义一个类S,定义方法A,方法B,方法A中引用方法B,

新建类S的对象Q,

调用Q.A

实现数据传递。

 

封装

设计两个接口方法,

一个接口方法为seter,一个接口方法为geter

set可以对对象的属性进行条件控制

geter为return即可

 

继承

父类和子类

子类可以extend父类后添加自己的属性和方法

 

多态

多态存在的三个必要条件
一、要有继承;
二、要有重写;
三、父类引用指向子类对象。

 

多态的引用

技术分享

if (o instance dog){}

 

接口

技术分享

 

技术分享

 

 

就是在继承中,new出的子类依次执行父类的无参构造方法。

New一个类的的时候,

1. 执行父类的static成员和static代码块(按照先后顺序)

2. 执行子类的static成员和static代码块(按照先后顺序)

3. 执行父类的非static成员字段变量和代码块的初始化(按照先后顺序)

4. 执行父类的构造方法

5. 执行子类的非static成员字段变量和代码块的初始化(按照先后顺序)

6. 执行子类的构造方法

===================================

public class DuckBase {

public DuckBase(){
System.out.println("这是基类");
}
}

 

===================================

public class DuckA extends DuckBase{
public DuckA(){
System.out.println("这是类A");
}
void aa(){
System.out.println("aa");
}
}

 

===================================

public class DuckB extends DuckA {
public DuckB(){
System.out.println("这是B的构造函数");
}
public DuckB(String var){
System.out.println(var) ;
}
void bb(){
System.out.println("bb");
}
public static void main(String []args){

System.out.println("1") ;
DuckBase base = new DuckBase();
System.out.println("2") ;
DuckBase base1 = new DuckA();
System.out.println("3") ;
DuckBase base2 = new DuckB("这是基类B");
System.out.println("4") ;
DuckA b = new DuckB();
System.out.println("5") ;
b.aa();
}
}

技术分享
先初始化全局变量
静态代码块,如果有就执行他,没有就执行构造方法
最后才会执行 构造方法
类的函数不调用不执行,

 

写写java学习过程中_面向对象、继承

原文:http://www.cnblogs.com/ironwang/p/6393560.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!