我是靠谱客的博主 帅气大门,最近开发中收集的这篇文章主要介绍Java笔记,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

类和对象
概念:类是一种事物描述,是抽象的,概念上的定义:对类是实际存在的该类事物的每个实体,因而也称实例。
类的语法结构:
[修饰符] class 类名
{
定义构造方法;
定义属性;
定义方法;
}
注释:
修饰符可以是 public、final、abstract 或者完全省略修饰符。
(1)创建防御塔( TowerDefense)类。

(2)在该类中定义两个属性,第一个属性是横坐标x,第二个属性是纵坐标y,数据类型都是整型int。

(3)定义一个方法showMessage()显示数据,在该方法中对防御塔的坐标位置进行输出。

(4)在类中定义main()方法,实例化TowerDefense对象,通过引用变量给对象属性赋值。调用showMessagel)方法输出结果。

参考代码如下:

pubhic class TowerDefenseint X,int y;

public TowerDefense(l

System. out. printIn("防御塔已经被实例化了");public static void main(Stringll args)TowerDefense td = new TowerDefense();

td.x = 10;

td,y = 20;

System. out. printIn("防御塔横坐标=" + td.x +’纵坐标=' +td.y);

效果图如下:
在这里插入图片描述
方法详情
方法声明
语法格式如下
[<修饰符>]<返回类型><方法名>([参数列表]){方法体}
方法调用
由于main()方法是程序的入口,如果在类中调用指定方法,则按照如下步骤进行操作.

(1)在类的main0方法中创建可以调用方法的实例。

(2)将实例赋值给指定的引用变量,通过引用“变量.方法名”的形式调用方法。

调用Hero类中的battle()方法的具体操作见示例

public class Hero{String name;int age;

public void battle(){

System.out. printIn(name+"在肆无忌惮地战斗,他的年龄只有"+age+"可他的血量只有1%了... ");

public static void main(String[] args) {

Hero hero = new Hero(); // 创建英雄对象hero.name="暗夜魔王”;//为name属性赋值
hero.age=15;//为age属性赋值

hero. batte(); // 使用该对象的battle()方法
}

在这里插入图片描述
可变形参方法
可变方法声明

[<修饰符>1<返回类型> <方法名> (变量类型…变量名)}{方法体}

可变方法调用

下面程序定义了一个形参个数可变的方法。具体操作见示例。

public class VarargsTest {

//定义形参个数可变的方法

public static void testVarargs(int X, String...users) {for (String user: users) {

System. out. printIn(user);

public static void main(String[] args) {

//采用可变个数形参的方法调用

testVarargs(3,"张小文"”王艺儒”,"李晨生");}

在这里插入图片描述

可变参数与数组参数的区别
以下为数组参数调用方法:

public class ArrayTest {

//采用数组形参来定义方法

public static void testArray(String[] users) {//users当成数组处理

for (String user : users) {

System. out. printIn(user);
           }
}

public static void main(String[l args) {
//采用数组形参的万法调用

testArray(new String[]{"张小文","王艺儒","李晨生"})
}
}

1.定义方式不一样

(1)采用可变个数形参来定义方法,代码如下:

pubic static void trVrarstringin . usesi

(2)采用数组形参来定义方法,代码如下:

public static void tstArystrinlg users);

2.调用方式不一样

(1)采用可变个数形参的方法调用,代码如下:

testVarargs(“张小文”,‘王艺儒,“李晨生);

(2)采用数组形参的方法调用,代码如下:

testArray(new Stringll"张小文",“王艺儒",'李晨生));

3.参数位置不同

如果有多个形参,数组形式的参数可以处于形参列表的任意位置,但是个数可变的形参处于形参列表的最后,即一个方法中最多只能有一个个 数可变的形参。

对比这两种方法,很显然第一种形式 上更加简洁。实际上,即使是采用形参个数可变的形式来定义方法,调用法方法时也样可以为个数可变的形参传递一个数组。

构造方法
定义:在类定义中,有一类特殊的方法,此类方法的名称与类名完全一致,在创建对象时,用于成员变量进行初始化,此类方法被称为构造方法。
特点:创建一个构造方法(Construction method)和倒建个其他方法的过程 是相同的,但需要注意的定,不使用void造方法的名称必须与此类的名称完全相同:此外,构造方法不能有返回值,在构造方法的名称前面也不使用void关键字进行修饰。

例题:创建士兵类(Soldiers),在该类中定义有参构造方法,该方法有一个String类型参数name,代表土兵的姓名,两个int类型的变量x和y,分别表示士兵被实例化后所在的坐标位置,x代表横坐标,y代表纵坐标。在主方法中使用for循环创建5个土兵对象,每个士兵对象的姓名以及x、y坐标是通过用户在控制台输入的。

public Soldiers(String name,int x,int y){

System.out printIn("英雄名字:”" +name+"初始化横坐标='+x+"纵坐标='+y);public static void main(String[] args) {

//创建Scanner对象,用于接收控制台输入的数据

Scanner input=new Scanner(System.in);

for(int i=0;i<5;i++){

System. out.printIn("请输入第"+(i+1)+"个土兵的名字:);String name=input.next();

System. out. printIn("请输入横坐标:");

int x=input.nextInt();

System.out. printin("请输入纵坐标:");

int y=input.nextInt();

11通过有参构造方法创建Soldiers对象

Soldiers s=new Soldiers(name,x,y);
}
}

思路:(1)创建士兵类( Soldiers) 。
(2)在该类中定义一个 有参数的构造方法,该方法包含-个String类型的形参变量name和两个int类型变量的x、y,在构造器中输入该士兵信息。
(3)创建main()方法,在该方法中创建Scanner对象,用于接收用户从控制台输入的信息,并在main()方法中创建一个 循环次数为5的循环,在该循环中使用户在定义的构造方法创建Soldiers 对象。

效果图如下:
在这里插入图片描述
总结:构造方法是在类中定义的特殊方法,该方法的名称与类名完全一致。 构造方法的作用是创建实例对象。如果在类中没有创建用户自定义的构造方法,Java 会提供一个 缺省的默认无参构造方法。
利用“new构造方法([参数列表])”用于创建对象实例。

注:不要把可变参数与数组参数弄混

最后

以上就是帅气大门为你收集整理的Java笔记的全部内容,希望文章能够帮你解决Java笔记所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部