面向对象中的关键字

在学习java面向对象的过程中对于其中的关键字做了如下的总结

面向对象中的关键字
1.关键字this

this的意思是这个
this可以修饰属性,方法,构造器
①修饰属性和方法
在类的方法中,可以使用"this.属性"或者"this.方法"的方式调用当前对 象的属性和方法。通常情况下,选择省略。特殊情况下使用的时候,表明此变量是属性而不是形参
②调用构造器
在类的构造器中,显示的使用"this(形参列表)"方式,调用本类中指定的其他的构造器.在构造器中不能通过"this(形参列表)“的方式调用自己
注意点:
如果有几个构造器,则最多有n-1个机构使用"this(形参列表)”
规定"this(形参列表)"和super()二者必须有一个强调在代码的首行
构造器的内部,最多只能声明一个"this(形参列表)"来调用其他的构造器

2.关键字static

static 静态的
static可以用来修饰属性,方法,代码块,内部类
①静态属性(静态变量):多个对象共享一个静态变量,当通过其中一个对象的修改静态变量的时候,就会导致其他对象调用静态变量时,是修改过的
由于类只能加载一次,则静态变量在内存中也只能存在其中一份;存在方法区的静态区域中
②静态方法:随着类的加载而加载,可以通过"类.静态方法"的方式进行调用。只能调用静态的方法和属性。非静态的方法,既可以调用非静态的方法和属性,也可以调用静态的方法和属性
注意点:
静态的方法,不能使用this关键字,super关键字
静态变量的加载要早于对象的创建,可以通过"类.静态变量"的方式来调用.
关键字main方法是程序的入口,是一个普通的静态的方法

3.关键字final

fianl最终的
fianl可以修饰类,方法,变量
①final修饰的类不能被其他的类所继承,比如string类和System类
②final修饰的方法,表示这个方法不能比重写.比如Oject类中的getClass();
③final修饰变量,这个变量就是一个常量。修饰局部变量:修饰形参时,形参就是一个常量.调用此方法时,给常量形参付一个实参之后,只能在方法体中使用形参,但是不能进行重新赋值
注意点:
static final用来修饰属性,全局常量

4.关键字abstract

abstract抽象的
abstract可以修饰方法和类
①abstract修饰的方法是抽象方法.抽象方法只有方法的声明,没有方法体 比如public abstract void eat();
②abstract修饰的类不能被实例化
注意点:
抽象方法和抽象类【继承】,不能修饰属性,构造器等结构,不能修饰私有的方法和静态方法
包含抽象方法的类一定是一个抽象类,反之,抽象类中可以没有抽象方法的[抽象的方法必须放在抽象类中]
若子类重写了父类中的所有的抽象方法之后,子类才能被实例化;若子类没有被重写父类中所有的抽象方法,则此子类也是一个抽象方法,则需要abstract来修饰

5.关键字interface

接口的使用是用interface来定义的
①如何使用接口
在jdk1.7之前只能定义全局常量和抽象方法,但是在jdk1.8之后还以定义静态的方法和默认的方法
全局常量: public static final的。例如 public static final in MAX_SPEED =7900.//第一宇宙速度
抽象方法:public abstract的
②如何实现接口
格式:classAA extends BB implements CC,DD
③接口的好处:
java的接口可以实现多个接口同时使用,弥补了java的单继承性的缺陷;接口的实现体现了多态性

6.关键字super

super:父类的
super可以调用属性,方法,构造器
①调用属性和方法
在子类的方法或者构造器中,使用"super.属性"和"super.方法"显示的调用父类中声明的属性或者方法.【使用super关键字就是子类和父类中定义了同名的属性时,子类调用父类中的属性或者方法是,必须使用关键字来调用父类中的属性和方法】
②调用构造器
在类的构造器.至少有一个类的构造器中使用了super(形参列表)调用了父类中的构造器 super()空是默认调用了父类中的空参的构造器
super(形参列表)的使用必须规定在子类构造器的首行【this(形参列表)和super(形参列表只能二选一,不能同时出现)】

7.关键字import

import导入
①在源文件中导入java中的一些类"xxx.*"的方式,表示可以导入xxx包下的全部结构
②在源文件中.使用了不同包下的同名的类,则必须至少有一个类需要以全类名的方式显示
③import static:导入指定类或者接口中的静态结构的属性或者方法

8.关键字package

package包
①package声明在源文件的首行. " ."每一个点就代表一层目录
②同一个包下不能命名同名的接口,类。不同的包下可以命名同名的接口和类
③主要的一些包名:
java.lang------包含java语言的核心代码
java.net-------包含执行与网络相关操作的类和接口
java.util--------包含一些实用的工具类.比如使用和日历相关的函数

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值