Java面向程序编程

Java面向程序编程,第1张

Java面向程序编程

构造方法
 *      在创建对象的时候默认会调用构造方法来创建,在堆中进行存储,主要是对成员变量进行初始化 *** 作
 *      语法:
 *          修饰符:有4个,后面再讲(public、protected、[default]、private)
 *          返回值:构造方法没有返回值
 *          方法名:构造方法的名字必须和类名保持一致
 *          参数列表:和普通方法一样
 *          方法体:对成员变量进行初始化
 *
 *       注意:
 *          1、当没有显示的声明构造方法的时候,系统会给你一个默认的不带任何参数的空构造器供你来创建对象
 *          2、如果显示的声明了一个构造器,那么系统给你提供的空构造器就会被覆盖,这时候如果你还想使用空构造器来创建对象,
 *             就必须显示的定义一个空构造器才能使用
 *          3、一个类中可以有多个构造方法
 *
 *   重载:一个类可以有多个同名的方法,但是要求方法的参数列表不同
 *      主要指三方面不同:
 *          1、参数个数不同
 *          2、参数类型不同
 *          3、参数顺序不同
 *
 *          注意:
 *              1、重载是发生在同一个类中的;
 *              2、一般我们都需要构造方法的重载(当成员变量个数很多的时候,只需要对部分成员变量进行初始化的时候,就需要构造方法重载)
 *
 */
public class Teacher {

    //属性:成员变量
    String name;
    int age;

    //定义一个空构造方法
    public Teacher(){
        System.out.println("空构造方法被调用了......");
    }

    //定义一个有参构造方法
    public Teacher(String tname,int tage){
        System.out.println("Teacher(String name,int age)构造方法被调用了......");
        name = tname;
        age = tage;
    }

    public Teacher(int tage,String tname){

    }

    public void show(){

    }

    public void show(String name,int age){

    }

    public void show(int age){

    }


    public static void main(String[] args) {
        //创建对象
        Teacher teacher1 = new Teacher();
        teacher1.name = "张飞";
        teacher1.age = 18;
        System.out.println(teacher1.name);
        System.out.println(teacher1.age);
        Teacher teacher2 = new Teacher("关羽",20);
        System.out.println(teacher2.name);
        System.out.println(teacher2.age);
    }
}

变量:
 *      局部变量:
 *          在方法内定义的变量称为局部变量
 *          作用域:从变量的声明开始到方法的结束
 *          注意:
 *              1、局部变量没有初始化的时候,如果不使用的情况下,是不会报错的
 *              2、局部变量在使用之前必须进行初始化
 *              3、只能在当前方法中使用,出了方法是不能使用的
 *
 *
 *      成员变量:(全局变量)
 *          在方法外,类内定义的变量称为成员变量
 *          作用域:整个类体内都可以访问
 *          注意:
 *                成员变量如果没有初始化的话,那么系统会根据它的类型默认进行初始化
 *                int-->   boolean-->false  String--->null
 *
 */
public class VarDemo {

    //属性:成员变量
    int age = 10;
    String name;

    public void show(){
        //局部变量
        String name = "小鑫鑫";
        System.out.println(name);
        int a;
//        System.out.println(a);
        System.out.println(age);
    }

    public void test(){
        System.out.println(age);
        age = 20;
        System.out.println(age);
        int age = 30;
        System.out.println(age);
    }


    public static void main(String[] args) {
        //创建对象
        VarDemo vd = new VarDemo();
        System.out.println(vd.age);
//        vd.show();
//        System.out.println(vd.name);   错误的
        vd.test();
        System.out.println(vd.age);
//        System.out.println(vd.name);
    }

}
 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5677901.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存