【跟着大磨马学IT编程(安卓java程序员)】第十八天 课程内容概述

软件编程培训(安卓java),课程介绍 及 评论

http://buluo.qq.com/mobile/detail.html?&&_wv=1027#bid=277118&pid=2149341-1448537461&source=buluoadmin&from=buluoadmin


联系QQ:3282149013   联系电话:075526402586


本节课程 评论:

课程内容概论:

变量的使用规则

public class VariableTest01 {

//    成员变量

//    private int age = 6;

//    定义一个方法

    public int getPrices(int num){

        int age = 6;

        if(num >= 3){

            age += num;//age = age + num;

        }

        return age;//14

    }

//    程序的入口方法  程序从这里开始执行

    public static void main(String[] args){

        int a= 8;

        int ageInt = new VariableTest01().getPrices(a);

        System.out.println(ageInt);//14

//        int i;// 方法局部变量

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

            System.out.println(i);

            i = 4;

        }

//        i = 5;

    }

//    应当尽量缩写局部变量的作用范围,

}

当咱们定义一个成员变量时,成员变量将被放置到堆内存中,成员变量的作用域将扩大到类存在范围或对象存在范围,这种扩大的范围有两个坏处:

  1. 扩大了变量的生存时间,将导致更大的系统开销,降低运行性能;

  2. 扩大了变量的作用域,这不利于提高程序的内聚性。



public class ConstructorOver {

//    属性--------------------------------------

    private int age;

//    构造器--------------------------------------

    public ConstructorOver(){}

    public ConstructorOver(int age){

        this.age = age;

    }

    public ConstructorOver(int a, String b, boolean c){

        age = a;

        info(b, c);

    }

//    方法----------------------------------------------

    public void info(String b, boolean c){

        if(age == 0 && c){

            b += age;

            System.out.println(b);

        }

    }

    public int info(String b){

         return 4;

    }

    public int getAge(){

        return age;

    }

}

public class ConstructorOverTest {

    public static void main(String[] args){

        int  a01 = new ConstructorOver().getAge();

        System.out.println(a01);//0

        int a02 = new ConstructorOver(1).getAge();

        System.out.println(a02);// 1

        new ConstructorOver(0, "中国", true);

    }

}



深入构造器

构造器最大的用处就是在创建对象时执行初始化。如果咱们想改变属性值得默认初始化,想让系统创建对象时就为该对象各属性相识指定初始值的话,就可以通过构造器来实现。

如果程序员没有为Java类提供任何构造器,则系统会为这个类提供一个无参数的构造器,这个构造器的执行体为空,不做任何事情。无论如何,Java类至少包含一个构造器。

构造器的重载

对于类ContructorTest中,有两个构造器,他们的构造器名称相同,但参数不同,这种情况就是构造器的重载。并且,在ConstructorTest类中包含多个构造器,也就意味着有多个对象初始化的逻辑(实现相应的功能),使用不同的构造器来初始化类ConstructorTest对象。

构造器重载和方法重载基本相似:要求构造器的名字相同,这一点无须刻意要求,因为构造器必须与类名相同,所以同一个类的所有构造器名肯定相同。为了让系统能区分不同的构造器,多个构造器的参数列表必须不同。即 系统通过new调用构造器时,系统将根据传入的实参类比来调用对应的构造器。




public class Person {

//    隐藏  封装

//private    default  protected  public

//    定义了两个属性

    private  String name;// null

    private int age; // 0

    private String sex = "男";

//    protected

    public Person(){

    }

    public Person(String name){

        this.name = name;

    }

    public Person(String name, int age){

        this.name = name;

        this.age = age;

    }

//    定义一个方法

    public String getNameAge(){

        String str = name + age; 

        return str;

    }

    public static void main(String[] args){

        Person p = new Person();

        System.out.println("属性name = " + p.name);

        System.out.println("属性age = " + p.age);

        String str= p.getNameAge();

        System.out.println("str= " + str);

        System.out.println("-------------------------------------------------------- ");

        Person p01 = new Person("安卓工程师", 88);

        System.out.println("属性name = " + p01.name);

        System.out.println("属性age = " + p01.age);

        String str01= p01.getNameAge();

        System.out.println("str01= " + str01);

    }

}

public class PersonTest {

    public static void main(String[] args){

        Person ps = new Person("狗蛋", 18);

//        System.out.println(ps.name);

//        System.out.println(ps.age);

//        System.out.println(ps.sex);

    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值