码迷,mamicode.com
首页 > 其他好文 > 详细

类总结

时间:2020-07-04 19:03:20      阅读:78      评论:0      收藏:0      [点我收藏+]

标签:形式   互相调用   实现   构造   类重写   turn   表达式   bst   目的   

static

1.实例方法与类方法

? ①实例方法既可以操作实例变量也可以操作类变量,可以调用该类中的实例方法或类方法

? ②类方法无法操作实例变量与方法,只能操作类变量和该类的类方法

? |*** 一个类中的方法可以互相调用 ***|

2.实例变量与类变量

? ①类变量既可以通过某个对象访问,也可以直接通过类名访问

? ②实例变量仅仅是和相应的对象关联的变量,即不同对象的实例变量互不相同

? 实例变量只能通过对象访问

3.适用条件

? 如果一个方法不需要操作实例成员变量就可以实现某种功能,

? 就可考虑将这样的方法声明为类方法,好处是避免创建对象浪费内存

this

1.在构造方法中

? 当this出现在类的构造方法中,代表使用该构造方法所创建的对象

2.在实例方法中

? 当this出现在类的实例方法中,代表正在使用该方法的当前对象

abstract

1. 类

? ①abstract 类中可以有abstract方法

? ②abstract 类不能用new创建对象

? ③一个非abstract类是abstract的子类,他必须重写父类的abstract方法

? 一个abstract类是abstract的子类,它可以重写也可以继承父类的abstract方法

? ④abstract类的对象作上转型对象

2.方法

abstract方法只允许声明,不允许实现,而且不允许使用final和abstract同时修饰一个方法

3.如何理解abstract

抽象出重要行为标准,再去调用子类重写方法

4. abstract类和接口对比

①abstract类和接口都可以由abstract方法

②接口中只能有常量,不能有变量;而abstract既可以用常量也可以有变量

③abstract类中也可以有非abstract方法,不可以有default实例方法

接口不可以有非abstract方法,可以有default实例方法

④abstract还可以提供子类可以集成的变量和非abstract方法,如果问题涉及到继承,abstract比较好

final

1.final类

final类不允许继承,没有子类

2.final方法

final方法不能被重写

访问权限

访问限制修饰符有public,protected,private(按照访问权限从高到低排列),是用来修饰成员变量或方法

1.private

①对于私有成员变量和方法,只有在本类中创建该类的对象时,这个对象才能访问自己的私有成员变量和类中的私有方法

②当用某个类在另外一个类中创建对象后,如果不希望该对象直接访问自己的变量,就设置为private

2.protected

①必须在同一个包中的类才能互相访问protected变量和方法,同一个包的任何类可以通过类名来访问protected变量和方法

3.public

都可以

4.友好

和protected类似

注意: 如果子类和父类在同一个包中,那么,子类继承了父类的protected、public成员变量做为子类的成员变量,并且继承了父类的protected、public方法为子类的方法。如果子类和父类不在同一个包里,子类不能继承父类的友好变量和友好方法。

内部类

1.关系

①内部类的外嵌类的成员变量在内部类中仍然有效,内部类中的方法也可以调用外嵌类的方法

②内部类的类体中不可以声明类变量和方法,外嵌类的类体中可以用内部类声明对象作为外嵌类成员

③内部类仅供他的外嵌类使用,其他类不可用其声明对象

匿名类

匿名类是是一个子类,没有类名,使用匿名类创建对象时直接使用父类的构造方法

1.特点

①匿名类可以继承父类的方法也可重写父类的方法

②匿名类一定是内部类,匿名类可以访问外嵌类的成员变量及方法,类体中不可声明static变量与方法

③匿名类的常用方式时想方法的参数传值

lambda表达式

本质是一个匿名方法,目的是在使用但接口(只有一个方法的接口)匿名类时让代码更简洁,

但是不提倡使用

1.形式

正常方法 int f(int a , int b){

? return a+b }

Lambda表达式:

(int a , int b) -> {

return a + b }

类总结

标签:形式   互相调用   实现   构造   类重写   turn   表达式   bst   目的   

原文地址:https://www.cnblogs.com/oceanrxl/p/13235958.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!