Java基础的知识
前言
提示:大一上课学Java,灰色字体为自己理解,可能会有失偏跛,这东西主要也是靠自己理解,光看着没用,我的理解也不代表别人的理解,仅供参考,主要目的给自己参考进步。
提示:以下是本篇文章正回顾文内容,下面案例可供参考
一、基本结构
1.类的语法结构
[修饰符] class 类名{
定义构造方法
定义属性
定义方法
}
注意:
1、修饰符是public、final、abstract等,可以简写
2、定义顺序没有关系
3、都可以定义0个或多个
4、类不能嵌套(类不能包含类)
2.对象的语法结构
1.声明对象:类名 对象名;
2.实例化对象: 对象名 = new 构造方法;
3.调用该属性: 对象名.属性;
4.调用该方法: 对象名.方法名;
实例化对象我也不知道是什么意思,百度了一下得出如下:
(实例化的过程)
根据此图理解,实例化应该是用new关键字申请分配内存空间,在内存中实际产生一个类的实例。
3.栈和内存
案例:创建一个英雄类
代码如下(示例):
public class Hero{
String name; //名字
int age; //年龄
char sex; //性别
//跑步方法
public void run(){
system.out.println(name+"在飞速前往战场")
}
//main方法
public static void main(String[] args){
//创建对象
Hero hero1 = new Hero();
//调用
hero1.name="黑暗游侠";
hero1.age=20;
hero1.run();
}
}
运行结果如图:
类是一种引用数据类型,放栈内存里
属性是需要内存来存储的,放堆内存里
上述代码在创建对象中在堆内存里申请了两个内存
如图所示:
创建完对象后,
对象储存在堆内存中,
不允许直接访问,
只能用引用访问该对象。
再创建一个防御塔类(TowerDefense),用两个坐标表示位置
代码如下(示例):
public class TowerDefense {
int x; //纵坐标
int y; //横坐标
//构造方法
public TowerDefense(){
System.out.println("防御塔被实例化了")//个人觉得是初始化
}
//main方法
public static void main(String[] args) {
//创建对象
TowerDefense td=new TowerDefense();
td.x=10;
td.y=20;
System.out.printf("防御塔坐标为(%d,%d)",td.x,td.y);
}
}
要用“.”关键字调用刚刚创建的对象,要不然编译错误
二、方法
1.方法的声明
[修饰符] 返回类型 方法名(参数){方法体}
1.修饰符有public、private、protected和缺省访问修饰符
2.没有返回值则返回void
3.有返回值用return返回
4.方法不能嵌套定义(不能再声明其他方法)
在刚刚Hero类中声明一个战斗(battle)方法
代码如下(示例):
//战斗方法
public void battle() {
}
先暂时定义一个空方法。
2.方法的调用
- mian方法是程序的入口,可以创建调用方法的实例
- 实例用“变量.方法名”的方式赋值给引用变量
案例太多就不一 一演示了
3.值传递(实参→形参)
形参:方法在声明时的参数
实参:执行时实际传递的参数
案例太多就不一 一演示了x2
课堂练习题:
每次受到10点攻击,在战斗方法battle()中判断英雄血量是否小于等于0,如果条件成立,就结束循环
import java.util.Scanner;//导入scanner类
public class Hero {
String name; //名字
int age; //年龄
char sex; //性别
int output; //血量
int count; //攻击次数
//跑步方法
public void run(){
System.out.println(name+"在飞速前往战场");
}
//战斗方法
public void battle() {
//创建对象
Scanner sc =new Scanner(System.in);
System.out.println("请输入英雄血量(1-100间)");
output =sc.nextInt();
do{
output -= 10;
count++;
if(output>0){
System.out.printf("第%d次攻击,英雄血量还剩%d\n",count,output);
}else{
System.out.println("你死了");
}
}while (output>0);
}
//main方法
public static void main(String[] args){
//创建对象
Hero hero1 = new Hero();
//调用
hero1.battle();
}
}
运行结果如图:
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了Java面对对象的记得内容·,大部分是为了回顾一下之前学的Java基础。