Java4Andriod 从零学起 ---learn1

类 ; 对象和引用 ; 构造函数 ; 函数的重载


类:

class learn1{
    int i=0 ;  //成员变量
    void shout(){   //成员方法
        System.out.println("i'm "+age);
    }
}

//其实类有点像C语言中的  struct{}

//创建一个对象.  等号左边,是一个引用,相当于C语言中的指针,等号的右边,是一个对象,相当于由malloc分配的一块内存地址
learn1 Me = new learn1();

//对象的使用方法
// 对象.变量
// 对象.函数()

---------------------------------------------

class Dog{
    String name;
    int age;
    String color;

    void jump(String love){
        System.out.println("");
        System.out.println("My name is : "+name+" i'm "+age+" i'm "+color);
        System.out.println("我特别喜欢"+love+",它是我见过的最帅的男生.");
    }
}

----------------------------------------------

构造函数,函数的重载

构造函数,就是一个类中,与类名相同的函数,当生成一个类时,是由这个构造函数生成的

函数的重载: 就是在一个已有函数的基础上,再建立一个函数,函数名和返回值类型均相同,只有参数不同,当调用这些函数的时候,根据传入的参数不同,所调用的同名函数也不同


class A{

    void funA(){
        System.out.println("这是一个没有参数的funA");
    }

    void funA(int i){
        System.out.println("这是一个有参数"+i+"的funA");
    }
//-------------------上面是函数的重载,  下面是构造函数


    A(){              //这个就是构造函数(如果没写,系统会自动补上)
        System.out.println("--------------我是构造函数-----------");
    }
}

-----------------------------------------------

class Person{
    String name;
    int age;

    //构造函数
    Person(){

    }

    //重载构造函数
    Person(String n , int a){
        name = n ;
        age = a;
        System.out.println("我的名字叫: "+name+"  我今年 "+age+" 岁了");
    }

    //System.out.println("我的名字叫: "+name+"  我今年 "+age+" 岁了");---错 , 因为一个语句应该属于一个函数
    //当你自己定义了一个构造函数,系统就不会再自动定义无参数的构造函数了
}

问题: 类中可以直接拥有非定义语句么?  答案:不行

class Sentence{
    System.out.println("Hello");  //错的!

}

---------------------------------------------------

综合

class Test{
    public static void main(String args []){
        Dog may = new Dog();
        may.name = "May - 罗婧";
        may.age = 19 ;
        may.color = "blue";

        Dog owen = new Dog();
        owen.name = "Owen - 应天成";
        owen.age = 20;
        owen.color = "black";

        owen.jump(may.name);
        may.jump(owen.name) ;

        //匿名对象
        new Dog().jump(may.name);
        System.out.println("");
        System.out.println("anonymity name is "+new Dog().name);

        //函数的重载(只要参数列表不同即可)
        A fun = new A();
        int i = 0;

        fun.funA();
        fun.funA(i);

        //构造函数--调用,赋初值
        Person person1 = new Person("应天成" , 20);
        Person person2 = new Person("罗婧" , 19);

        //类中可以有语句么?  看来是不行
        //new Sentence();
    }
}

(tip . 匿名对象的使用 ----- 静态类的使用 )

匿名对象--> 不用引用,直接生成对象,一次性

静态类引用--> 直接用类名调用








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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值