前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JAVA的类与对象|适合初学java两周的朋友

JAVA的类与对象|适合初学java两周的朋友

作者头像
微笑的小小刀
发布2022-04-12 15:40:36
2720
发布2022-04-12 15:40:36
举报
文章被收录于专栏:java技术大本营

面向对象是Java语言的主要特点之一,而面向对象的编程又从创建类开始,我们一起来学习

声明类

格式:(public/abstract/final) class ...(extends ...)(implements ...){

}

在格式中,打括号的是可选项,第一个括号中的public,abstract,final是表示类的修饰符,第二个括号是表示继承其他类,而第三个括号则是表示实现某些接口,下面一一来看

01 public,abstract,final

public

作用:

可以被其他类和程序使用(被其他包访问)

注意事项:

1一个文件最多只有一个public类

2文件名与该public类名字相同,包括大小写都要一样,如图中2所示

3如果文件中有public类,main方法必须放在public类中,如图中3所示

abstract

特点:

包含抽象方法(方法类比c语言中的函数)即只声明不实现的方法,其方法由子类(继承这个抽象类的 类)来具体实现

注意事项:

抽象类不能直接用new实例化

抽象类中含有抽象方法,但是也可以有其他方法,在本例中,就是在抽象类abstractt中声明了一个抽象方法f2,如图中1所示。接着用public类Ab继承类Abstractt中,即Ab是abstractt的子类,在该子类中对f2进行了定义并且调用实现

注意:声明不要加大括号,如果加了大括号,还是表明实现了方法,只不过是一个空实现

final

特点:

final类中的所有方法都是final方法,而final方法不能被继承也不能被重写

02

extends

在前文介绍abstract类的时候就已经提到过,抽象方法只能由子类具体实现,有子类就有父类,而子类就是继承的父类,继承可以是子类拥有父类的各种属性和方法,不需要再次编写相同的代码

还是在这个例子当中,f1是类abstract的方法,在类Ab中并没有,但由于继承了abstractt,所以在main方法中,对类Ab进行实例化,创建的对象aaa,可以调用f1

儿子长得像爹,但还是有自己的特性。而在类中,子类继承父类属性和方法,也有自己属性和方法,这称为类扩展。

还是这个例子,在类Ab中,定义了其方法f3,这是它特有的

03

implements

在前文中提到继承,一个子类只能继承一个父类,也就是说一个儿子只能有一个亲爹,但干爹可以认很多个,而接口就是干爹。也就是说,一个类只能继承一个类,但可以同时实现多个接口。一个接口也可以继承多个接口。

格式:(public)interface ...(extends...)

注意:接口体中的成员变量默认为public,static, final,成员方法默认为public,abstract,也就是说只能包含常量和抽象方法

final修饰的成员变量必须人为赋初值且不能改变

static修饰变量时,会让变量一直活到程序结束,也就是说只要程序在运行,这个static修饰的变量一直可以被用

与类同理,只不过这里的extends继承的不是类是接口。

依旧是刚刚的例子,接口中声明了一个常量和一个方法,注意方法不要在接口中定义,接着让Ab去实现接口,在Ab里面定义接口中的抽象方法

创建类

现在就是对类体进行编写,赋予其功能实现的能力。

01

创建类成员

格式:(public/protected/private)(static)(final)(transient)(volatile) 变量类型 变量名

格式原理同上,public/protected/private表示成员变量的访问权限,transient表示暂时性变量,比如当变量是用户的密码,银行卡号,那可不能永久保存,要及时消亡,volatile共享变量,感觉是个高级用法。

02

创建类方法

格式:(public/protected/private)(static)(final/abstract)(native)(synchronized) 返回值类型 函数名(形参类型 形参){}

native表示用来把代码和其他语言的代码继承起来,synchronized表示用来控制多个并发线程对共享数据的访问,具体学到后面从使用中体会其作用罢

还是这个例子,框起来的都是类方法

03

实例化

即创建对象,格式:类名+对象名=new 类名()

还是这个例子,创建了类Ab,然后在main方法中对Ab进行实例化创建对象aaa,调用类中有关方法

调用方式:对象名.方法

E N D

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-04-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 java技术大本营 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 声明类
    • 03
    • 创建类
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档