继承体系知识总结

本文介绍了面向对象编程的基本概念,包括类、对象、属性、行为、继承等核心要素,并通过实例详细解析了方法重写、构造方法及重载、方法与类的分类等内容。

1类的概念

类:对一类实体的集合特点的综合抽象概念

对象:能在生活中摸得到看得到的实体,实实在在的物体

2关系的定义

类与对象的关系:是一个具体和抽象的关系

3人的特征跟行为

属性:身高、体重、年龄、、、、、、

行为:吃饭,说话,走路、、、、、、

例子

人在吃饭:人是个抽象的,一个不存在的概念,所以是个错误的说法

小明在吃饭: 小明具体指出了实体对象,所以是正确的

4面向对象的思维

会根据类来创建对象

例:方法定义

Public void ad(){
}

返回值类型:表示这个行为的执行返回结果

参数类型:表示这个行为的执行条件

语句类型:表示这个行为的执行过程

5继承类的事例

警察追捕小偷,警察攻击小偷,小偷掉血;小偷攻击警察,警察掉血;当血量为零时,小偷或警察死亡

警察代码:

public class jingchai(){
  //定义警察的属性
Public int blood;
Public int gongjili;
//定义好警察的攻击方法
Public void gj (xiaotou x){
X.xiaotou = x.xiaotou - gongjili;
System.out.println(“警察攻击了一下小偷,小偷掉血了,小偷血量为:”+x.xueliang);
}
}

小偷代码:
Public class xiaotou {
//定义好小偷的属性
	Public int blood;
Public int gongjili;
//定义小偷的攻击方法
Public void gj (jingcha j){
j.jingcha= j.jingcha  - gongjili;
System.out.println(“小偷攻击了一下警察,警察掉血了,警察血量为:”+j.xueliang);
}
}

测试代码:

Public class Text{
//定义主函数,为程序入口
Public static void main(String[] args){
//定义警察对象,让方法进行调用
Jingcha j = new jingcha();
//让警察的属性有初始值
J.blood = 100;
J.gongjili = 2;
//调用警察的攻击方式
J.gj();
//定义小偷的对象,让方法进行调用
Xiaotou x = new xiaotou();
//让小偷的属性有初始值
X.blood = 90;
X.gongjili=3;
//调用小偷的攻击方法
X.gj();
}
}

6继承的概念

继承从表面意义为:承接、延续的意思

Extends 为继承

java中表示子类继承父类的属性跟行为

格式为:public class 子类名称 extends 父类名称{    }

作用:解决代码重复问题,将重复的属性和行为用一个方式进行继承,另一个获得相同的属、性和行为;这样就避免了代码的重复性,并缩减了写代码时间。

例子:

窗口的继承(老例子)

窗口的原代码

Public class MyFrame extends JFrame{
//创建方法iniFrame()
Public void iniFrame(){
//设置窗口的属性
this.setTitle(“测试窗体”);
this.setSize(400,400);
this.setDefultCloseOperation(3);
this.setLocationRelativeto(null);
This.setVisible(true);
}
测试代码
Public class Text{
Public static void main(String[] args){
//创建窗口对象事例对象
Public class MyFrame extends JFrame{
//创建方法iniFrame()
Public void iniFrame(){
//设置窗口的属性
this.setTitle(“测试窗体”);
this.setSize(400,400);
this.setDefultCloseOperation(3);
this.setLocationRelativeto(null);
This.setVisible(true);
}

测试代码
Public class Text{
Public static void main(String[] args){
//创建窗口对象事例对象
MyFrame mf = new MyFrame();
//窗口对象的方法调用
mf.iniFrame();
}
}

MyFrame mf = new MyFrame();
//窗口对象的方法调用
mf.iniFrame();
}
}

7方法的重写

概念:将子类继承父类的过程方法进行修改

格式:方法名、返回类型、参数必须一样,进行过程的随意修改

例子:

设置三个类:1.ABC

这是A类
Public class A extends B{
//继承的方法是B类方法
}
这是B类
Public class B extends C {
Public int s;
Public int d;
//不是属于C类方法,这里进行方法重写属于B类方法
无C类方法
Public void iniFrame(){
System.out.pritln(“这是B的方法”);
}

窗口的原代码
Public class MyFrame extends JFrame{
//创建方法iniFrame()
Public void iniFrame(){
//设置窗口的属性
this.setTitle(“测试窗体”);
this.setSize(400,400);
this.setDefultCloseOperation(3);
this.setLocationRelativeto(null);
This.setVisible(true);
}
测试代码
Public class Text{
Public static void main(String[] args){
//创建窗口对象事例对象
MyFrame mf = new MyFrame();
//窗口对象的方法调用
mf.iniFrame();
}
}

}
这是C类
Public class C{
Public void iniFrame(){
System.out.println(“这是C的方法”);
}
}

8.面向对象的特征

(1)继承性

(2)封装性

(3)多态性

构造方法(构造器/构造函数)

 定义:用于构造当前类对象的方法

 格式:public 类名(){}

 特点:不写会默认存在

       创建当前类的对象的时候执行

 作用:用于构造对象,类似于产品的生产过程

   

10 方法重载

     定义:一个类中,多个方法的方法名相同,参数列表不同的方法,互为重载方法

 作用:体现的是做同一件事情的不同过程

 

学习:在寝室看书

      在华信撸码

 

构造方法重载的意义:可以用于初始一些属性

 

 

练习:

定义一个老师类:

1、属性:名字、年龄、身高、体重、性别

2、定义一个上课的方法,并重载上课方法,并测试

3、定义构造方法,并重载构造方法,并测试

4、通过重载构造方法来初始化属性

 

 

用继承+构造方法重载来实现PK游戏

 

11 方法分类

     方法分类:

构造方法:public 类名(){}

普通方法:public 返回类型  方法名(){}
    抽象方法:public abstract 返回类型  方法名();

12 类的分类

   普通类:public class 类名{}

   1. 只允许有构造方法和普通方法,一定不能有抽象方法

   2. 可以创建对象

 

   抽象类:public abstract class 类名{}

  1. 三种类型的方法都可以存在

  2. 不能创建对象

 

   接口:public interface 类名{}

       1. 只能有抽象方法

      2.不能创建对象

     

13接口的继承

  接口和抽象类作用:约束子类的方法定义

  接口的继承关键字:implements

  子类如果是普通类:则必须把父类的所有的抽象方法都重写一遍

      

 

 

画板项目:

1. 出现一个窗体

2. 在窗体上绘制图形

  必须得有画笔

3. 鼠标监听:用于监听鼠标的操作

   监听器的添加跟窗体的setVisible无关

4. 传参,参数传递:把对象从一个类中,传递到另外一个类


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值