首页 > 编程语言 > 详细

创建java类并实例化类对象

时间:2018-12-12 23:04:37      阅读:220      评论:0      收藏:0      [点我收藏+]

创建java类并实例化类对象例一
1.面向对象的编程关注于类的设计
2.设计类实际上就是设计类的成员
3.基本的类的成员,属性(成员变量)&方法

面向对象思想的落地法则一:
1.设计类,并设计类的成员(成员变量&成员方法)
2.通过类,来创建类的对象(也称作类的实例化)

public class zoo {
    public static void main(String[] args) {
        //基本数据类型的声明,数据类型 变量名=初始化值
        //类的实例化:如a1就是一个对象
        Animal a1=new Animal();
        //通过对象调用属性
        a1.name="阳阳";
        a1.age=3;
        System.out.println("name:"+a1.name+" age:"+a1.age);
        //通过对象调用方法
        a1.eat();
        a1.sleep();
    }
}

class Animal{
    //1.属性
    String name;
    int age;
    //2.方法
    public void eat(){
        System.out.println("动物进食");
    }
    public void sleep(){
        System.out.println("动物睡觉");
    }
    //getName是得到name的值
    public String getName(){
        return name;
    }
    //setName是给name设计一个值
    public void setName(String n){
        name=n;
    }
}

技术分享图片


二、创建多个对象,彼此各自拥有一套类的属性,当对其中一个属性进行修改时,不会影响到其他对象的属性
类对象的内存解析
技术分享图片

public class zoo {
    public static void main(String[] args) {
        int i = 10;
        //基本数据类型的声明,数据类型 变量名=初始化值
        //类的实例化:如a1就是一个对象
        Animal a1 = new Animal();
        //通过对象调用属性
        a1.name = "阳阳";
        a1.age = 3;
        System.out.println("name:" + a1.name + " age:" + a1.age);
        //通过对象调用方法
        a1.eat();
        a1.sleep();
        //再创建一个类的对象
        Animal a2 = new Animal();
        System.out.println("name:" + a2.name + " age:" + a2.age);
        a2.name = "小花";
        System.out.println("name:" + a1.name + " age:" + a1.age);
        System.out.println("name:" + a2.name + " age:" + a2.age);
        //a3不意味着相较于啊a1重新创建的一个对象,而是a1与a3公用一个对象实体
        Animal a3 = a1;
        System.out.println("name:" + a3.name + " age:" + a3.age);//与a1一样
        a3.name = "维尼熊";
        System.out.println("name:" + a1.name + " age:" + a1.age);
    }
}

    class Animal {
        //1.属性
        String name;
        int age;

        //2.方法
        public void eat() {
            System.out.println("动物进食");
        }

        public void sleep() {
            System.out.println("动物睡觉");
        }

        //getName是得到name的值
        public String getName() {
            return name;
        }

        //setName是给name设计一个值
        public void setName(String n) {
            name = n;
        }

    }

技术分享图片


三、类的属性(成员变量)
成员变量vs局部变量
局部变量:是在某个方法中的变量
成员变量:在类中定义的变量
在类中没有在其他方法中定义的变量就是成员变量
如public class tip{
int j=10;
}
这个里面的j就是成员变量

public void setName(String n){}
中的n就是一个局部变量
或者是在方法里面定义的也叫局部变量如:
public void addAge(){
int i=2;
age +=i;
}
中的int i=2;这个也是局部变量
成员变量和局部变量的相同点:
1.格式都一样: 数据类型 变量名 = 初始化值
2.都有作用域:局部变量作用在它所存在的方法中,方法变量作用在它所存在的类中。
一旦出了它们所存在的范围就不能使用,除非通过对象的调用(如:.name来调用)

成员变量和局部变量的不同点:
1.声明的位置不同:成员变量声明在类里,方法外。局部变量声明在方法内,和方法的形参部分(public void setName(String n){}的n)
代码块内
2.成员变量的修饰符有四个:public、private、protected、缺省(就是省略不写)(如public class v{
int b=2;
}这里的int前面可以加修饰符)
局部变量没有修饰符,与所在的方法修饰符一样(如public void addAge(){
int i=2;
age +=i;
}这里的i是局部变量,修饰符就是方法的修饰符public)
3.初始化值无论哪种变量都有初始化值,成员变量如果没有赋值不同的数据类型则有默认的初始化值。
局部变量一定要显示赋值,因为局部变量没有默认的初始化值
4.二者在内存中存放的位置不同:成员变量存在于堆空间中,局部变量存在于栈空间中
四、类的方法:提供某种功能的实现
1.格式:权限修饰符(public、private、protected、缺省(就是省略不写)) 返回值类型(void:无返回值/具体返回值) 方法名(形参,String等){}

2.关于返回值类型:void,表明不需要返回值。
如:public void eat{
System.out.println("进食");
}
有返回值的类型:在方法最后一定有return+返回值类型对应的变量
如:public int getAge(){
return age;
}
记忆:void与return不能同时出现在一个方法内,像一对冤家
3.方法内可以调用本类的其他方法或属性,但是不能在方法内定义方法
技术分享图片


技术分享图片

//(1)
public class W {
    String name;
    int age;
    String sex;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public void study(){
        System.out.println("studying");
    }
    public void showAge(){
        System.out.println(age);
    }
    public int addAge(int i){
        age+=i;
        return age;
    }

    public static void main(String[] args) {
        W a=new W();
        a.study();
        a.showAge();
        a.addAge(2);
        a.showAge();//相等于System。out。println(a.age);
        System.out.println();
        //(2)
        W b=new W();
        b.showAge();
        a.showAge();
    }
}
public class circle {
    public static void main(String[] args) {
        Tcircle c1=new Tcircle();
        c1.r=2.3;
        c1.findArea();
    }
}
class Tcircle{
    double r=1.0;
    //提供一个方法,用来获取圆的面积
    public void findArea(){
        System.out.println(3.14 * r * r);
    } 
}

 

创建java类并实例化类对象

原文:https://www.cnblogs.com/KeepCalmAndNeverSayNever/p/10111448.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!