-
2021-02-28 15:36:12
是的,可以定义一个与类同名的方法。没有编译时或运行时错误。但是,按照Java中的编码标准,不建议这样做。通常,Java中的构造函数名称和类名称始终相同。
示例public class MethodNameTest {
private String str = "Welcome to nhooo";
public void MethodNameTest() { // Declared method name same as the class name
System.out.println("Both method name and class name are the same");
}
public static void main(String args[]) {
MethodNameTest test = new MethodNameTest();
System.out.println(test.str);
System.out.println(test.MethodNameTest());
}
}
在上面的例子中,我们可以声明的方法名(MethodNameTest)相同类名(MethodNameTest),将没有任何错误编译成功。
输出结果Welcome to nhooo
Both method name and class name are the same
更多相关内容 -
java中定义类的关键字是什么?
2021-02-12 22:57:02java中定义类的关键字是:“class”。在Java中定义一个类,需要使用“class”关键字、一个自定义的类名和一对表示程序体的大括号。类是 Java 中的一种重要的引用数据类型,也是组成 Java 程序的基本要素,因为所有的...java中定义类的关键字是:“class”。在Java中定义一个类,需要使用“class”关键字、一个自定义的类名和一对表示程序体的大括号。
类是 Java 中的一种重要的引用数据类型,也是组成 Java 程序的基本要素,因为所有的 Java 程序都是基于类的。
在 Java 中定义一个类,需要使用 class 关键字、一个自定义的类名和一对表示程序体的大括号。完整语法如下:[public][abstract|final]class[extends][implements] {
// 定义属性部分
;
;
;
…
// 定义方法部分
function1();
function2();
function3();
…
}
提示:上述语法中,中括号“[]”中的部分表示可以省略,竖线“|”表示“或关系”,例如 abstract|final,说明可以使用 abstract 或 final 关键字,但是两个关键字不能同时出现。
上述语法中各关键字的描述如下。public:表示“共有”的意思。如果使用 public 修饰,则可以被其他类和程序访问。每个 Java 程序的主类都必须是 public 类,作为公共工具供其他类和程序使用的类应定义为 public 类。
abstract:如果类被 abstract 修饰,则该类为抽象类,抽象类不能被实例化,但抽象类中可以有抽象方法(使用 abstract 修饰的方法)和具体方法(没有使用 abstract 修饰的方法)。继承该抽象类的所有子类都必须实现该抽象类中的所有抽象方法(除非子类也是抽象类)。
final:如果类被 final 修饰,则不允许被继承。
class:声明类的关键字。
class_name:类的名称。
extends:表示继承其他类。
implements:表示实现某些接口。
property_type:表示成员变量的类型。
property:表示成员变量名称。
function():表示成员方法名称。
Java 类名的命名规则:类名应该以下划线(_)或字母开头,最好以字母开头。
第一个字母最好大写,如果类名由多个单词组成,则每个单词的首字母最好都大写。
类名不能为 Java 中的关键字,例如 boolean、this、int 等。
类名不能包含任何嵌入的空格或点号以及除了下划线(_)和美元符号($)字符之外的特殊字符。
示例:
创建一个新的类,就是创建一个新的数据类型。实例化一个类,就是得到类的一个对象。因此,对象就是一组变量和相关方法的集合,其中变量表明对象的状态和属性,方法表明对象所具有的行为。定义一个类的步骤如下所述。
(1) 声明类。编写类的最外层框架,声明一个名称为 Person 的类。public class Person {
// 类的主体
}
(2) 编写类的属性。类中的数据和方法统称为类成员。其中,类的属性就是类的数据成员。通过在类的主体中定义变量来描述类所具有的特征(属性),这里声明的变量称为类的成员变量。
(3) 编写类的方法。类的方法描述了类所具有的行为,是类的方法成员。可以简单地把方法理解为独立完成某个功能的单元模块。
下面来定义一个简单的 Person 类。public class Person {
private String name; // 姓名
private int age; // 年龄
public void tell() {
// 定义说话的方法
System.out.println(name+"今年"+age+"岁!");
}
}
如上述代码,在 Person 类中首先定义了两个属性,分别为 name 和 age,然后定义了一个名称为 tell() 的方法。
推荐教程:《java教程》
-
Java类的定义格式:Java如何定义一个类
2021-02-12 09:23:05为了在程序中创建对象,首先需要定义一个类。类是对象的抽象,它用于描述一组对象的共同特征和行为,例如人都有姓名、年龄、性别等特征,还有学习、工作、购物等行为。以面向对象的编程思想,就可以将某一类中共同的...在面向对象的思想中,最核心的就是对象。为了在程序中创建对象,首先需要定义一个类。类是对象的抽象,它用于描述一组对象的共同特征和行为,例如人都有姓名、年龄、性别等特征,还有学习、工作、购物等行为。以面向对象的编程思想,就可以将某一类中共同的特征和行为封装起来,把共同特征作为类的属性(也叫成员变量),把共同行为作为类的方法(也叫成员方法)。本节将对Java中类的定义格式、类的成员变量和成员方法进行详细讲解。
1.类的定义格式
Java中的类是通过class关键字来定义的,其语法格式如下:
[修饰符] class 类名 [extends 父类名] [implements 接口名]{
// 类体,包括类的成员变量和成员方法
}
在上述语法格式中,class前面的修饰符可以是public,也可以不写(默认);class之后是定义的类名,类名首字母要大写,并且其命名要符合标识符的命名规则;extends和implements是可选项,均为Java中的关键字,其中extends用于说明所定义的类继承于哪个父类,implements关键字用于说明当前类实现了哪些接口(这两个关键字将在下一章详细讲解,这里作为了解即可)。后面大括号{}中的内容是类体,即需要在类中编写的内容,它主要包括类的成员变量和成员方法。
2.声明(定义)成员变量
类的成员变量也被称作类的属性,它主要用于描述对象的特征。例如,一个人的基本属性特征有姓名、年龄、职业、住址等信息,在类中要使用姓名、年龄等信息时,就需要先将它们声明(定义)为成员变量。
声明(定义)成员变量的语法格式如下:
声明(定义)成员变量的语法格式如下:
[修饰符] 数据类型 变量名 [ = 值];
在上述语法格式中,修饰符为可选项,用于指定变量的访问权限,其值可以是public、private等;数据类型可以为Java中的任意类型;变量名是变量的名称,必须符合标识符的命名规则,它可以赋予初始值,也可以不赋值。通常情况下,将未赋值(没有被初始化)的变量称之为声明变量,而赋值(初始化)的变量称之为定义变量。
例如,姓名和年龄属性在类中的声明和定义方式如下:
private String name; // 声明一个String类型的name;
private int age = 20; // 定义一个int类型的age,并赋值为20;
3.声明(定义)成员方法
成员方法也被称为方法,类似于C语言中的函数,它主要用于描述对象的行为。一个人的基本行为特征有吃饭、睡觉、运动等,这些行为在Java类中,就可以定义成方法。
定义一个方法的语法格式如下:
[修饰符] [返回值类型] 方法名([参数类型 参数名1,参数类型 参数名2,...]){
//方法体
...
return 返回值; //当方法的返回值类型为void时,return及其返回值可以省略
}
上面语法格式中,[]中的内容表示可选,各部分的具体说明如下:
● 修饰符:方法的修饰符比较多,有对访问权限进行限定的(如public、protected、private),有静态修饰符static,还有最终修饰符final等,这些修饰符在后面的学习过程中会逐步讲解。
● 返回值类型:用于限定方法返回值的数据类型,如果不需要返回值,可以使用void关键字。
● 参数类型:用于限定调用方法时传入参数的数据类型。
● 参数名:是一个变量,用于接收调用方法时传入的数据。
● return关键字:用于结束方法以及返回方法指定类型的值,当方法的返回值类型为void时,return及其返回值可以省略。
● 返回值:被return语句返回的值,该值会返回给调用者。
在上述语法中,{}之前的内容被称之为方法签名(或方法头),而{}中的执行语句被称为方法体。需要注意的是,方法签名中的“[参数类型 参数名1,参数类型 参数名2,...]”被称作参数列表,它用于描述方法在被调用时需要接收的参数,如果方法不需要接收任何参数,则参数列表为空,即()内不写任何内容。关于上述语法结构中的修饰符内容,将在后面进行逐一的讲解,这里读者只需了解如何定义类、成员变量和成员方法即可。
了解了类及其成员的定义方式后,接下来通过一个具体的案例来演示一下类的定义,如文件1所示。
文件1 Person.java
public class Person {
int age; // 声明int类型的变量age
// 定义 speak() 方法
void speak() {
System.out.println("我今年" + age + "岁了!");
}
}
文件1中定义了一个Person类,并在类中定义了类的成员变量和成员方法。其中,Person是类名,age是类的成员变量,speak()是类的成员方法。在成员方法speak()中可以直接访问成员变量age。
脚下留心
在Java中,定义在类中的变量被称为成员变量,定义在方法中的变量被称为局部变量。如果在某一个方法中定义的局部变量与成员变量同名,这种情况是允许的,此时方法中通过变量名访问到的是局部变量,而并非成员变量,请阅读下面的示例代码:
public class Person {
int age = 10; // 类中定义的变量被称作成员变量
void speak() {
int age = 30; // 方法内部定义的变量被称作局部变量
System.out.println("我今年" + age + "岁了!");
}
}
上面的代码中,speak()方法中的打印语句所访问的变量age,就是局部变量,也就是说,当有另外一个程序来调用speak()方法时,输出的值为30,而不是10。
猜你喜欢:
-
7-1 定义ClassName接口,设计类Company,实现获取类名称的功能 (10 分)
2021-04-27 22:11:34 -
Java类的定义及定义类时可用的关键字
2020-06-27 22:50:59本节介绍如何定义类。 在 Java 中定义一个类,需要使用class 关键字、一个自定义的类名和一对表示程序体的大括号。完整语法如下: [public][abstract|final]class<class_name>[extends<class_name>]...类是 Java 中的一种重要的引用数据类型,也是组成 Java 程序的基本要素,因为所有的 Java 程序都是基于类的。本节介绍如何定义类。
在 Java 中定义一个类,需要使用 class 关键字、一个自定义的类名和一对表示程序体的大括号。完整语法如下:[public][abstract|final]class<class_name>[extends<class_name>][implements<interface_name>] { // 定义属性部分 <property_type><property1>; <property_type><property2>; <property_type><property3>; … // 定义方法部分 function1(); function2(); function3(); … }
提示:上述语法中,中括号“[]”中的部分表示可以省略,竖线“|”表示“或关系”,例如 abstract|final,说明可以使用 abstract 或 final 关键字,但是两个关键字不能同时出现。
上述语法中各关键字的描述如下。public
:表示“共有”的意思。如果使用 public 修饰,则可以被其他类和程序访问。每个 Java 程序的主类都必须是 public 类,作为公共工具供其他类和程序使用的类应定义为 public 类。abstract
:如果类被 abstract 修饰,则该类为抽象类,抽象类不能被实例化,但抽象类中可以有抽象方法(使用 abstract 修饰的方法)和具体方法(没有使用 abstract 修饰的方法)。继承该抽象类的所有子类都必须实现该抽象类中的所有抽象方法(除非子类也是抽象类)。final
:如果类被 final 修饰,则不允许被继承。class
:声明类的关键字。class_name
:类的名称。extends
:表示继承其他类。implements
:表示实现某些接口。property_type
:表示成员变量的类型。property
:表示成员变量名称。function()
:表示成员方法名称。
Java 类名的命名规则:- 类名应该以下划线(_)或字母开头,最好以字母开头。
- 第一个字母最好大写,如果类名由多个单词组成,则每个单词的首字母最好都大写。
- 类名不能为 Java 中的关键字,例如 boolean、this、int 等。
- 类名不能包含任何嵌入的空格或点号以及除了下划线(_)和美元符号($)字符之外的特殊字符。
例 1
创建一个新的类,就是创建一个新的数据类型。实例化一个类,就是得到类的一个对象。因此,对象就是一组变量和相关方法的集合,其中变量表明对象的状态和属性,方法表明对象所具有的行为。定义一个类的步骤如下所述。
(1) 声明类。编写类的最外层框架,声明一个名称为 Person 的类。- public class Person {
- // 类的主体
- }
(2) 编写类的属性。类中的数据和方法统称为类成员。其中,类的属性就是类的数据成员。通过在类的主体中定义变量来描述类所具有的特征(属性),这里声明的变量称为类的成员变量。
(3) 编写类的方法。类的方法描述了类所具有的行为,是类的方法成员。可以简单地把方法理解为独立完成某个功能的单元模块。
下面来定义一个简单的 Person 类。- public class Person {
- private String name; // 姓名
- private int age; // 年龄
- public void tell() {
- // 定义说话的方法
- System.out.println(name+"今年"+age+"岁!");
- }
- }
如上述代码,在 Person 类中首先定义了两个属性,分别为 name 和 age,然后定义了一个名称为 tell() 的方法。
-
C++在类的外部定义构造函数
2020-08-08 18:18:47#include<iostream> using namesapce std; int main(void) { class A { public: ...//在类内声明构造函数,在类的外面定义构造函数, //这种方式有的编译器能通过,有的编译器不能通过 ... -
用java定义一个学生类和课程类
2021-03-05 17:19:40j++) { System.out.print("请输入第"+j+"门课程的名称:"); String courseName = scan.next(); System.out.print("请输入第"+j+"门课程的学分:"); int hour = scan.nextInt(); _courses[j-1] = new ... -
类中定义一个成员变量animalName,表示动物的名称,变量animalName是String类型,默认初始值。
2021-04-22 22:18:19在该类中再定义一个成员方法shout(),表示动物发出叫声的行为,该方法能输出名称为animalName的动物发出叫声,例如输出“波斯猫发出叫声”。 2、设计Cat类。使用关键字extends继承Animal类。Cat类中定义一个public... -
创建一个手机类 定义属性名称、型号、颜色、价格, 并定义打电话和听音乐的功能。在测试类中创建对象进行...
2020-03-15 14:52:47class Phone: def init(self,name,model,colour,money): self.name=name self.model=model self.colour=colour ...return “名称:%s ,型号:%s,颜色:,%s,价格:%s”%(self.name,self.model,self.co... -
Python定义类、创建类的对象(类的实例化)
2021-10-25 20:37:50在python中使用class关键字来定义类,定义类时需要注意以下几个事项: (1)类代码块以class关键字开头,代表定义类。 (2)class之后是类名,这个名字由用户自己指定,命名规则一般是多个单词组成的名称,每个单词... -
C#:定义一抽象类Pet(宠物)类,作为基类
2020-01-06 09:44:421.定义一抽象类Pet(宠物)类,作为基类。 2.类中定义两个私有字段毛色和年龄,定义抽象方法完成宠物的自我介绍功能; 3.定义两个派生类Cat和Dog,再覆写基类抽象方法; 4.定义包含主方法的类MainClass,通过抽象类... -
Python类的定义
2018-07-23 18:13:40类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。 实例变量:定义在方法中的变量,只作用于当前实例的类。 数据成员:类变量或者实例变量用于处理类及其实例对象的相关数据。 方法:类中定义的... -
类的定义和定义类的步骤
2018-07-24 09:08:27类:具有相同属性和方法...1.定义类:(1),定义类 (2),编写属性 (3),编写方法 [访问修饰符] class 类名 { //省略类的内部具体代码 } 2.属性:对象的特征(名词) [访问修饰符] 数据类型 属性名 ... -
Java之路:类的声明与定义
2018-12-03 21:01:15[标识符] class 类名称 { //类的成员变量 //类的方法 } 在上面的语法格式中,[标识符] 可以是public、private、protected或者完全省略这个修饰符。 类名称遵循标识符命名规则与规范,这里不再赘述,有兴趣的... -
Python类的定义和使用
2019-03-06 10:35:18为了代码的编写方便简洁,引入了类的定义; 一般,使用 class 语句来创建一个新类,class之后为类的名称(通常首字母大写)并以冒号结尾,例如: class Ticket(): def __init__(self,checi,fstation,tstation,fdate,... -
Java类定义、成员变量定义、方法定义、成员变量与局部变量的区别
2020-01-30 16:16:48编程语言的三大发展阶段:面向机器语言、面向过程语言、面向对象语言 ; 其中面向对象语言主要体现三个特征:封装性、继承、动态 ; 类的定义:类声明和类体。...3、class 关键字是用来定义类 ; 4、... -
第7.5节 揭开Python类中self的面纱
2020-12-10 19:57:03在上节已经引入介绍了类定义,并...在Python中self实际上是指向类声明的实例对象自身,如果要在实例方法中访问实例变量,必须在变量前加“self.”。显然,self很有用,甚至必不可少。如果没有它,所有的方法都无法访... -
Python类定义字类变量与实例变量
2018-01-19 11:02:01学过JAVA或C++等语言的程序员再去学Python类设计时感觉非常不适应,因为Python是在太自由了,让人无所适从,来python定义类时的变量来说,其定义方式、作用域、操作方法都与上述两种语言有更大的可操作空间。... -
JS-定义类
2019-02-07 21:58:51定义:function 类名称(){…} 看上去与方法语法类型,区别是类名称的首字母大写 获取对象:new 类名称(); 访问:对象.成员 <!DOCTYPE html> <html> <head> &... -
Java|如何用Java定义一个类
2020-05-24 11:52:32在Java语言中,类的成员变量的定义可以使用如下语法: class 类名 {成员变量类型变量名称;………} 类是用class关键字来定义的一种抽象数据类型,类不但定义了抽象数据类型的组成(成员变量),同时还定义了对该... -
定义一个Dog类 定义属性名称、年龄 并封装, 定义eat方法 打印狗在进食。 当打印狗对象的时候输出狗的名称...
2020-03-15 14:54:53class Dog: def __init__(self,name,age): self.__name=name self.__age=age #print("名称:%s 年龄:%s 岁了"%(self.__name,self.__age)) def eat(self): print("这只狗%s 在吃饭"%self.... -
学生类属性:姓名,学号,成绩(整数即可),定义相关构造方法;定义返回学生信息字符串的方法;2.班级类属性:班级...
2021-03-13 19:26:04题目显示不全,完整题目描述:设计一个班级类和一个学生类:1.学生类属性:姓名,学号,成绩(整数即可);定义相关构造方法;定义返回学生信息字符串的方法;...3.在班级类中定义main方法,定义班级类对象,输入... -
matlab中定义类、面向对象编程
2018-07-09 23:36:21Matlab也可以写面向对象的代码,首先表现在可以定义类,可以继承,使用类(class)有很多好处,其中一个重要的好处便是解决变量名冲突和让函数、对象的结构清晰。class的static function可以在不定义类的实例直接... -
我们可以在Java中的同名类中定义多个方法吗?
2021-03-08 17:52:58是的,我们可以在一个类中定义多个具有相同名称但具有不同类型参数的方法。要调用哪种方法将取决于传递的参数。在下面的示例中,我们定义了三种名称相同但参数不同的显示方法。根据参数,将调用适当的方法。示例... -
EXCEL 2013中“定义名称”的命名规则
2018-03-15 14:52:35名称必须以字母或汉字或下划线_作为开头,不能以数字、字母R、字母C作为开头,并且不能像单元格引用,例如,32和A4都不能作为区域名称,由于Excel 2007可以超过16 000列,不能使用cat1之类的区域名称,因为存在一个... -
c++模板类声明和定义的问题
2019-08-18 21:38:39这里在学习的过程中遇到的一些问题,比较简单,但还是记下来,以免下次遇到这个问题再犯,大佬们可跳过哦。先简单的介绍下模板的概念 C++模板(泛型编程) c++模板是泛型编程的基础,所谓泛型编程也是一种思想,一种... -
Java习题1:简单定义一个汽车类
2020-10-18 21:50:58定义一个汽车类,要求该类中至少包含5个私有的属性(为每个属性定义设置和获取方法),该类中至少包含两个构造方法(一个无参,一个有参),以及包含5-6个方法来描述汽车对象的行为(其中一个方法要能打印输出汽车... -
java-枚举类的定义及使用
2021-01-27 22:23:24文章目录枚举类的定义jdk5.0之前定义枚举类jdk5.0之后定义枚举类使用enum关键字定义枚举类使用enum关键字定义的枚举类实现接口 枚举类的定义 关于枚举类 1 枚举类的理解:类的对象只有有限个,确定的。我们称此类为...