Java--关键字

Java--关键字

一、private

1、概述:权限修饰符,修饰成员变量、成员函数(封装)

2、规则:

  • 被私有化的成员只能在本类中访问
  • 修改:对外提供公共的get和set方法

二、this和super

(一)this

1、概述:代表本类对象的一个引用对象。构造函数中,this()必须放在第一行

2、规则:

  • 当成员变量和局部变量相同时,用于区分,避免就近原则

  • 构造方法间的调用:调用本类的含参构造方法

(二)super

1、概述:由子类访问父类中的实例属性和方法,代表父类的一个引用对象,出现在调用位置的第一行

2、规则:

  • 创建子类对象,在调用子类无参构造前,会先去调用父类的无参构造

(三)this和super的区别

  1. this 代表本类对象的引用,super代表父类的引用;
  2. this用于区分局部变量和成员变量;
  3. super用于区分本类变量和父类变量;
  4. this.成员变量 this.成员方法() this([参数])代表调用本类内容;
  5. super.成员变量 super.成员方法() super([参数]),代表调用父类内容;
  6. this和super不可以同时出现同一个构造方法里,他们两个只要出现都得放在第一行

 

三、static

(一)概述:用于修饰成员(成员变量和成员方法) 

(二)特点

  • 随着类的加载而加载,优先于对象的加载

  • 只加载一次,就会一直存在,不再开辟空间
  • 全局唯一,全局共享

  • 可以直接被类名调用

  • 静态只能调用静态,非静态可以随意调用
  • static不能和this或者super共用,因为有static时可能还没有对象

四、final

(一)概述:最终的意思。可以修饰类、方法、成员变量。(父类功能不允许子类改变时)

(二)特点:

  1. 被final修饰的类,不能被继承
  2. 被final修饰的方法,不能被继承
  3. 被final修饰的变量是个常量,值不能被修改
  4. 常量的定义形式:final 数据类型 常量名=值

五、abstract

(一)概述:没有方法体的方法--抽象类,该方法由子类来具体实现

(二)特点:

  1. 修饰方法或者类
  2. 抽象类中没有抽象方法(由子类去实现)
  3. 如果类中有抽象方法,那该类必须定义为一个抽象类
  4. 子类继承了抽象类后,要么还是一个抽象类,要么就把所有抽象方法都重写
  5. 多用于多态中
  6. 抽象类不可以被实例化

六、extends

(一)父类与子类的关系

  1. 父类也叫基类、超类
  2. 子类也叫派生类
  3. 在继承的而关系中,“子类就是一个父类”:子类可以被当做父类来看待
  4. 关系是is a 的关系

(二)继承的格式

1、定义父类的格式

public class 父类名称{

、、、、

}

2、定义子类的格式

public class 子类名称 extends 父类名称{

、、、、

}

(三)继承中成员变量的访问特点

  1. 变量重名的情况
  2. 变量不重名的情况
  3. 继承之后可以使用父类的方法,也可以重写父类的方法

七、interface

(一)概述:接口,一种把类抽象的更彻底,接口里只能包含抽象方法的“特殊类”。接口不关心类的内部状态数据,定义的是一批类所遵守的规范。(它只规定这批类里必须踢动某些方法,提供这些方法就可以满足实际要求)。

(二)定义格式:

【修饰符】interface 接口名 extends 父接口1,赋接口2,......{

//零到多个常量定义.......

//零到多个抽象实例方法定义.......

}

(三)特点:

  1. 一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类
  2. 一个类可以同时继承一个父类,和多个接口,只是extends必须放置implements之后
  3. 接口不能创建实例,但是可以声明变量,但其一定是引用了其实现类的对象
  4. 主要用途就是被类实现
  5. 实现的方法:利用implements关键字
  6. 一个类继承了一个接口之后,必须完全实现这些接口里所定义的全部抽象方法(也就是要在子类里面重写这些类方法),否则,如果没有完全实现,那么此类也只能定义成抽象类。
  7. 重写接口方法时,修饰符只能比父类更大,或者相等,所以其也必须是public修饰符
  8. 所有接口类型的变量都可以直接赋给Object类型的变量

八、implements

(一)概述:声明自己使用一个或者多个接口

(二)特点:是实现多个接口,接口的方法一般为空的,必须重写才能使用

  1. 实现一个接口就是要实现该接口的所有的方法(抽象类除外)
  2. 接口中的方法都是抽象的
  3. 多个无关的类可以实现同一个接口,一个类可以实现多个无关的接口

九、抽象abstract和接口interface的异同

(一)相同

  1. 都有抽象方法
  2. 都不能创建实例
  3. 子类继承其后都必须全部实现其内的抽象方法,如果没有全部实现的话,类只能定义成抽象类

(二)不相同

  1. 接口里只能有抽象方法,抽象类里可以有普通方法
  2. 接口类里的属性默认有修饰语public static final ,但是抽象类中的属性可以是普通的
  3. 接口没有初始化块,抽象类里有
  4. 接口可以有多个父接口,但是抽象类只能有一个父类。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值