类,属性,方法,构造方法定义

本文介绍Java中如何声明类、属性、构造器及成员方法。详细解释了各部分的语法及注意事项,如修饰符的使用、构造器的特点等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

声明类

Java中的语法和C一样,语句都是以分号结束区分大小写。

Java技术中采用下列方法声明类:

<modifier>  class  <name>{

<attribute_declaration>

<constructor_declaration>

<method_declaration>

}

说明:

<modifier>:暂时只用"public",含义为:可以被所有其它类访问。或者不加public 在修饰类的访问权限的时候,只有两种:1,就是加上public,表示所有类都可以访问。 2,就是什么也不写,表示本包访问权限,在讲到包的含义时再理解

<name>:任何合法的标识符。它代表所声明类的名称。

Java中的标识符(类名,变量名,方法名)是由字母,数字,下划线(_),美圆符($)组成,数字不能用于标识符的开始。其中长度不受限制,不能使用java中的关键字,并且是区分大小写的。比如:classvoid等关键字。Java中的关键字都是由小写的字母组成的,所以在我们并不知道java中有那些关键字的情况下,在定义标识符的时候,只要不全是小写的字母,就不会和java中的关键字相冲突。

<attribute_declaration>:声明属性。也就是说用变量表示事物的状态。

<constructor_declaration>:声明构造函数。也叫构造方法,也叫构造器。是用来实例化该类的实例(对象)的。

<method_declaration>:声明方法。来说明事物能够做的事情,也就是行为。

注意:属性,方法,构造函数在类中的顺序没有固定的约束。一般习惯性地先声明属性,后声明方法(习惯性地把构造方法写普通方法的前面)

所以Person这个类的初始版本应该是:

public  class Person{

}

声明属性

<modifier>  <type>  <name>  [ = <default_value> ];

说明:

<name>:任何合法的标识符。它代表所声明属性的名称。

<modifier>:暂时只用public”和“private其中private含义为:仅能被所属类中的方法访问,这称作封装。

<type>:可以是任何原始类型(基本类型)或其它类(引用类型)。

[=<default_value>]是给属性初始化为给定的值。如果没有的话初始化为默认的值。(基本类型的初始化相应的值:比如:intshortbytelongcharUnicode码值)初始化为0floatdouble初始化为0.0boolean初始化为false,所有的引用类型都初始化为null)。

注意:Java语言与其它语言不同,在JAVA中声明属性和初始化属性值必须一句完成。不能分开写:先声明,再另起一行初始化

例如:

private int a ;

a=5;   //错误

private int b=6;//声明一个属性 b,并初始化为6

在类里面除了声明语句之外,是不能直接写其它执行语句的。 a=5 是赋值语句。如果要执行语句放在语句块(方法块,初始化块等)里执行。

据此,我们的Person类成为如下样子

public  class Person{

private double weight;

}

声明构造

<modifier> <class_name>  (<parameter>) {

<statement>

}

说明:

<class_name>:是类名构造的名字和类名必须一样

<modifier>:可以是public,指明可以被任何其它代码访问。private指明仅能被同一个类中的其它代码访问。

<parameter>:向构造器传递参数,可以没有参数。传递多个参数时,参数之间用逗号分开。每个参数由参数类型和标识符组成,这和声明属性的方式很类似,但是不能向参数赋初始值 

注意:构造器必须没有返回类型,并且构造方法的名字和类名必须一样。当一个类里面如果没有声明构造方法,那么虚拟机将自动给该类一个默认的构造器(不带参数的构造器)。如果在该类里面,定义了带参数的构造方法,那么虚拟机将不再为该类提供默认的构造方法,也就是该类不能按缺省方式构建了

我们的类此时变成

public class Person {

private double weight;

// 该类的默认的构造器

public Person() {

}

// 带参数的构造器

public Person(double d_weight) {

weight = d_weight; // 实例化对象时,给weight属性赋初始值

}

}

声明成员方法

<modifier>  <return_type>  <name>  ( <parameter> ){

<statement>

}

<name>:任何合法的标识符。

<modifier>:可以是public,指明可以被任何其它代码访问private:指明仅能被同一个类中的其它代码访问。

< return_type>:指明方法返回值的类型。假如方法不返回值,应被声明为void

<parameter>:向方法传递参数。传递多个参数时,参数之间用逗号分开。每个参数由参数类型和标识符组成。 

注意:方法必须有返回类型,返回类型为void和没有返回类型是不一样的。除了返回类型void外,有其它返回类型的方法块里必须有return语句。

我们的类此时变成(Person.java)

public class Person {

private double weight;

// 该类的默认的构造器

public Person() {

}

// 带参数的构造器

public Person(double d_weight) {

weight = d_weight; // 实例化对象时,给weight属性赋初始值

}

public void eat(double temp) { // 吃饭的方法

weight = weight + temp; // 吃多少,体重就增加多少

}

public double getWeight() {// 得到人的体重属性 

return weight//返回weight属性

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值