面向对象

一、类: class 

new : 生成对象时,分配内存空间

二、构造方法:

1、特征

(1) 没有类型

(2) 方法名与类名完全一致

2、目的

就是对刚刚分配的空间赋值,即对新建的对象赋值。

3、使用场合

  只能在new的后面

三、类和对象的关系

(1)类是对象的模板,抽象,整体

(2)对象是类的实例,具体,个体

变量的介绍:有两种

1、在类中定义的变量,成员变量。

(1)没有static修饰的,实例变量

(2)有static修饰的,类变量     整个类 只有一个

2、在方法中定义的变量,局部变量

 (1)方法定义时形式参数

(2)方法体内定义的变量

方法的介绍

(1)有static修饰的,类方法

(2)没有static修饰的 ,实例方法

方法体内的调用情况

1、类方法可以直接调用

(1)类变量            (2)类方法

2、实例变量可以直接调用

(1)类变量            (2)类方法                   (3)实例变量                        (4)实例方法

对象和类的调用情况

1、对象的调用

(1)类变量           (2)类方法                    (3)实例变量                           (4)实例方法

2、类的调用

(1)类变量                (2)类方法

  


四、方法的重载

  方法名相同,类型相同,但是参数不同:个数、类型

  public Student(){
   }
public Student(String stuID,String stuName){
this.stuID=stuID;
this.stuName=stuName;
}

五、封装

将类中的实例变量私有化。

private:实例变量仅在本类中有效,在其他类中无法访问。

要对外提供接口:getter和setter

目的:

(1)保护敏感数据,不被外界随意的访问和修改

(2)对外提供接口,简化操作

getter 

特征:

public String getName(){
     return this.name;
}

1、以get开头

2、没有参数

3、有返回值,即方法有类型


setter

特征:

public void setName(String name){
      this.name=name;
}

1、以set开头

2、有参数

3、没有返回值,即方法的类型为void


this

1、this.实例变量

2、this.实例方法

3、this():调用本类中其他的构造方法

public class Student1 {
   String id;
   String name;
   public Student1() {
	   this("S001","刘备");
   }
   public Student1(String id,String name) {
	   this.id=id;
	   this.name=name;
   }
   public static void main(String[] args) {
	   Student1 s=new Student1();
	   System.out.println(s.id+","+s.name);
   }
}

六、继承

1.目的:代码的重用

2.extends 实现继承


super

1、super.实例变量

2、super.实例方法

3、super(): 调用父类的构造方法

继承时子类的构造方法

1、子类的构造方法的第一句,一定是super().

public class Student1 {
   String id;
   String name;
   public Student1() {
	   this("S001","刘备");
   }
   public Student1(String id,String name) {
	   this.id=id;
	   this.name=name;
   }

}
public class Monitor extends Student1{
	String duty;
	public Monitor() {
		super();
	}
	public Monitor(String id,String name,String duty)
	{
		super(id,name);
		this.duty=duty;
	}
}

方法的重写

继承存在时,父类和子类的方法名相同,类型相同,参数相同,唯一的不同是方法体不同,即功能不同。

多态

理解:同一个动作,不同的对象会做出不同的反应。

当方法的重写存在时,并且对象的声明用父类,构造用子类,这是对象.方法()。

此时方法的调用:编译时,以父类为准,运行时以子类为准。

当父类和子类存在相同的实例变量时,并且对象的声明用父类,构造用子类,这时对象.实例变量。表示调用父类的实例变量。

七、抽象

1、abstract:修饰类,方法。

修饰方法时,方法没有方法体,只有声明。

2、抽象方法和抽象类的关系

(1)、如果一个类中有一个抽象方法,则该类必须是抽象的。

(2)、如果一个类中没有抽象方法,只有正常方法,则该类可以是抽象的。

(3)、抽象类是不能直接创建对象的

(4)、抽象类一般都有子类,用子类来创建对象。

八、接口

 定义: interface 接口名{
    定义常量
  定义public abstract 类型 方法名();
}

实现:implements

class 类名 extends 父类名 implements 接口1,接口2,接口3....



常用的关键字:

1. class                 2.new                 3.this                   4.static                       5.private

6.extends             7.super               8.abstract           9.interface                  10.implements

11.final                12.public             13.protected




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值