java学习第12天

方法 规定做一件事的流程
格式:

//访问修饰符 返回值类型 方法名(方法参数){方法体;}
  1. 访问修饰符:用来修饰方法的访问权限,规定这个方法是否在其它类中也可以访问
  2. 返回值类型:通过执行方法后,需要得到的结果
  3. 如果需要返回数据,就使用return
  4. 没有返回值: void
  5. 方法名:给方法名起一个名字,方便多次使用
  6. 方法参数:执行方法需要的数据
  7. 方法体:具体实现的步骤
    static:静态的—>随着类的加载而加载,—>意味着静态方法比非静态的的方法先执行
public class Method {
    public static void main(String[] args) {
        //调用方法
        showLove();
    }
    /**
     * public:访问修饰符: 设置公共,
     */
    public static void showLove(){
        System.out.println("123");
        System.out.println("456");
        System.out.println("789");
        System.out.println("147");
        System.out.println("258");
        System.out.println("369");
    }
}

访问修饰符:

  1. private:私有的,只能在本类中访问
  2. default:(默认类型)只能在同一个包中的类访问,或者在同一个类中
  3. protected 受保护的,可以在本类,同一个包中,以及子类进行访问
  4. public:公有的,任何地方都可以访问

在这里插入图片描述

创建类:

修饰符  class  类名{
	//如int i; 
	//String name;
	属性(类型)
	//方法
	修饰符 返回值类型 方法名(){
		方法体
	}
}

通过类创建对象

  1. 创建对象的语法 格式: 类名 对象名=new 类名();
    调用成员变量(属性);成员方法(行为) 格式:

  2. 对象名.成员方法();

  3. 对象名.成员变量;

public class Demo01 {
    public static void main(String[] args) {
        //创建类的同时 实例化(执行)造方法方法
        Student ff=new Student();
        //调用ff的name属性
        ff.name="刘烨";
        ff.age=18;
        //通过ff调用eat()方法
        ff.eat("KFC");
        /**
         * 通过调用别的类中没用对成员变量进行赋值的
         * 基本数据类型默认为初始值
         * 引用数据类型:默认为null
         */
        System.out.println(ff.sex);
        Person pp=new Person();
    }
}
    //创建类的方法一
    //默认修饰符 default 只能在同一个包中,同一个类中
    class Student{
        String name;
        String sex;
        int age;
        //吃饭
        public void eat(String str){
            System.out.println(name+"正在吃"+str);
        }

        //默认生成无参的构造方法,所有的属性初始化为默认值
        public Student(){         
        }
        //有参构造
        public Student(String n,String s,int a){
            name=n;
            sex=s;
            age=a;
        }
    }
 

普通的方法(五要素)

  /*  修饰符 返回值类型 方法名(方法参数){
			方法体
		}
  */
  class Student{
  	//属性
  	String name;
  	int age;
  	String sex;
	}

构造方法 / 构造函数 /构造器:是一种特殊的方法
构造方法(四要素) 没有返回值类型,方法名和类名一致

	/*  修饰符  方法名(方法参数){
		方法体;
	}
	*/
	class Student{
		String name;
  		String sex;
  		int age;
  		
		//这个就是无参构造方法
		public Student(){
		}
		//有参构造
		public Student(String name,String sex,int age){
			this.name=name;
			this.sex=sex;
			this.age=age;
		}
	}
	

方法的调用: 对象名.方法名()
构造方法的调用

new 类名();//创建对象的同时调用构造方法

如果在创建类的时候没有创建构造方法,系统会默认给创建一个构造方法.
构造方法的作用:对类中的属性(成员变量)进行初始化赋值
如果创建类的时候,有手动添加构造方法,系统就不会提供默认的构造方法

public class Demo02 {
    public static void main(String[] args) {
    	//创建对象,并执行无参构造方法
        Student ss=new Student();
        ss.name="苏苏";
        ss.age=18;
        ss.sex="男";
        //创建对象,并执行有参构造方法
        Student ss1=new Student("小","男",18);
    }
}

构造方法的注意事项:
关于构造的创建:

  1. 如果没有创建构造方法,系统会默认提供一个构造方法
  2. 如果定义构造方法,系统就不会提供默认一个构造方法

构造方法的重载(方法名相同,参数列表不同)

//如果自定义了带参数的构造方法,new对象的时候还是调用的无参构造,就必须再写一个无参构造

推荐的构造方法的创建方式

//无论是否使用,都需要手动添加一个无参构造
//重要功能:可以使用带参数的构造,对成员变量进行初始化
public class Demo03 {
    static int b;//成员变量

    public static void main(String[] args) {
        int c;//局部变量
           b=10;
    }
    public static  void test(int d){//d也是局部变量
        int c=20;//局部变量

    }
}

在这里插入图片描述

实操:
1.创建Hero类
成员变量: x(英雄机的横坐标) y(英雄机的纵坐标) w(英雄机的宽度) h(英雄机的高度) hp(英雄机的血量)

构造方法:创建一个无参构造在构造器中初始化上述成员变量

 例如:x=200;y=600;w=100;h=50;hp=10;

成员方法:

 向上移动的方法moveUp() 其中:y--

向下移动的方法moveDown()其中:y++

向左移动的方法moveLeft()其中:x--

向右移动的方法moveRight()其中:x++

2.在main方法中创建Hero对象,依次调用上述方法,并输出移动后x y的值

创建敌机类Ep
成员变量:sp(敌机的速度) hp(敌机的血量) type(敌机的类型) x(敌机的横坐标) y(敌机的纵坐标) w(敌机的宽度) h(敌机的高度)

构造方法:创建一个无参构造,初始化上述变量

例如:type=5;w=20;h=20;x=10;y=10;sp=1;hp=5;

普通方法:

敌机移动的方法move()让敌机向下移动y++

2.在main方法中创建Ep对象,调用move方法,输出x y的值

public class Test {
    public static void main(String[] args) {
        Hero hero=new Hero();
        hero.moveUP();
        hero.moveDown();
        hero.moveLeft();
        hero.moveRight();
        Ep ep=new Ep();
        ep.move();
    }

}
//英雄机
class Hero{
	int x;//横坐标
    int y;//纵坐标
    int w;//飞机宽度
    int h;//飞机的高度
    int hp;//飞机的血量


        //无参构造 初始化赋值
        public Hero(){
            x=200;
            y=600;
            w=100;
            h=50;
            hp=10;
        }
        //成员方法
        public void moveUP(){
            y--;
            System.out.println("英雄机移动后的y值:"+y);
        }
        public void moveDown(){
            y++;
            System.out.println("英雄机移动后的y值:"+y);
        }
        public void moveLeft(){
            x--;
            System.out.println("英雄机移动后的x值:"+x);
        }
        public void moveRight(){
            x++;
            System.out.println("英雄机移动后的x值:"+x);
        }
  }



//敌机
class Ep{
	int x;//横坐标
    int y;//纵坐标
    int w;//飞机宽度
    int h;//飞机的高度
    int hp;//飞机的血
    int type;//敌机的类型
    int sp;//敌机的速度
    //无参构造 初始化赋值
    public Ep(){
        x=10;
        y=10;
        w=20;
        h=20;
        hp=5;
        type=5;
        sp=1;
    }
    public void  move(){
        y++;
        System.out.println("敌机移动后的xy值:"+x+","+y);
    }
 
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值