Java类和成员变量声明类详解
作者:三省同学 时间:2023-02-13 18:54:46
声明类
定义类:
class MyClass {
// 字段、构造函数和
// 方法声明
}
这是一个类声明。类主体(大括号之间的区域)包含提供从类创建的对象的生命周期的所有代码:
用于初始化新对象的构造函数,提供类及其对象状态的字段的声明,以及方法来实现类及其对象的行为。
前面的类声明是最小的。它仅包含所需的类声明的那些组件。您可以在类声明的开头提供有关该类的更多信息,例如其超类的名称、是否实现任何接口等。
例如:
class MyClass extends MySuperClass implements YourInterface {
// 字段、构造函数和
// 方法声明
}
MyClass是MySuperClass一个子类并且它实现了YourInterface接口。
还可以在开头添加public或private之类的修饰符。修饰符public和private,它们决定了其他类是否可以访问MyClass。
一般来说,类声明可以包括这些组件,按顺序:
修饰符,例如public、private以及其他修饰符。(但是,请注意private修饰符只能应用于 嵌套类。)
类名,首字母按约定大写。
类的父类(超类)的名称(如果有),前面带有关键字extends。一个类只能扩展(子类)一个父类。
由类实现的接口的逗号分隔列表(如果有),前面带有关键字implements。一个类可以实现多个接口。
类体,用大括号 {} 括起来。
声明成员变量
有几种变量:
类中的成员变量——这些被称为字段。
方法或代码块中的变量——这些被称为局部变量。
方法声明中的变量——这些被称为参数。
该类Bicycle使用以下代码行来定义其字段:
public int cadence;
public int gear;
public int speed;
字段声明由三个部分组成,按顺序:
零个或多个修饰符,例如public或者 private。
字段的类型。
字段的名称。
public关键字将这些字段标识为公共成员,任何可以访问该类的对象都可以访问。
访问修饰符
使用的第一个(最左侧)修饰符允许您控制其他类可以访问成员字段。
public修饰符——该字段可从所有类访问。
private修饰符——该字段只能在其自己的类中访问。
protected修饰符——只能在其自己的包中访问,此外,它的类在另一个包中的子类也可以访问。
public class Bicycle {
private int cadence;
private int gear;
private int speed;
public Bicycle(int startCadence, int startSpeed, int startGear) {
gear = startGear;
cadence = startCadence;
speed = startSpeed;
}
public int getCadence() {
return cadence;
}
public void setCadence(int newValue) {
cadence = newValue;
}
public int getGear() {
return gear;
}
public void setGear(int newValue) {
gear = newValue;
}
public int getSpeed() {
return speed;
}
public void applyBrake(int decrement) {
speed -= decrement;
}
public void speedUp(int increment) {
speed += increment;
}
}
类型
所有变量都必须有一个类型。您可以使用原始类型,例如int、float、boolean等。或者您可以使用引用类型,例如字符串、数组或对象。
变量名
所有变量,无论是字段、局部变量还是参数,都遵循语言基础课程“ 变量—命名”中介绍的相同命名规则和约定。
方法名和类名使用相同的命名规则和约定,除了以下区别
类名的第一个字母应该大写,并且 方法名称中的第一个(或唯一一个)单词应该是动词。
来源:https://blog.csdn.net/qq_35764295/article/details/126127824 se
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Java集合Map的clear与new Map区别详解
![](https://img.aspxhome.com/file/2023/1/63321_0s.png)
Java 数据结构与算法系列精讲之栈
![](https://img.aspxhome.com/file/2023/1/81361_0s.gif)
Java线程的生命周期和状态控制_动力节点Java学院整理
![](https://img.aspxhome.com/file/2023/2/77132_0s.png)
Java根据模板导出Excel报表并复制模板生成多个Sheet页
![](https://img.aspxhome.com/file/2023/5/69875_0s.png)
c#实现哈夫曼树算法
JDBC实现学生管理系统
利用Intellij Idea连接远程服务器实现远程上传部署功能
![](https://img.aspxhome.com/file/2023/0/62440_0s.png)
Android使用SlidingPaneLayout 实现仿微信的滑动返回
![](https://img.aspxhome.com/file/2023/7/123337_0s.gif)
Android自定义TitleView标题开发实例
![](https://img.aspxhome.com/file/2023/2/137612_0s.png)
基于Java向zip压缩包追加文件
Spring Data环境搭建实现过程解析
activemq整合springboot使用方法(个人微信小程序用)
SpringBoot集成Swagger2的方法
![](https://img.aspxhome.com/file/2023/0/60350_0s.png)
JAVA的反射机制你了解多少
![](https://img.aspxhome.com/file/2023/9/60609_0s.jpg)
Springboot整合mqtt服务的示例代码
利用flutter实现炫酷的list
![](https://img.aspxhome.com/file/2023/7/138027_0s.gif)
深入浅析hbase的优点
![](https://img.aspxhome.com/file/2023/0/80270_0s.png)
Java URL自定义私有网络协议
![](https://img.aspxhome.com/file/2023/1/85871_0s.png)
C#判断上传文件是否是图片以防止木马上传的方法
springboot使用Mybatis(xml和注解)过程全解析
![](https://img.aspxhome.com/file/2023/6/87136_0s.png)