zoukankan      html  css  js  c++  java
  • JAVA类与对象(五)----对象的生成、使用

    对象的生成

    创建一个对象包括对象的声明、实例化、初始化三部分。

    1.声明-----类名对象名

      声明并不是为对象分配内存空间,而只是分配一个引用空间。对象的引用类似于指针,是32位的地址空间,它的值指向一个中间的数据结构,它储存有关数据类型的信息以及当前对象所在的堆的地址,而对于对象所在的实际的内存地址是不可操作的,这就保证了安全性。

    2.实例化

      运算符new为对象分配内存空间,它调用对象的构造方法,返回引用。一个类的不同对象分别占用着不同的内存空间。

    3.生成

      执行构造方法进行初始化,根据参数不同调用相应的构造方法。

    注意:如果类中没有构造方法,系统会自动调用默认的构造方法。默认的构造方法是无参数的。如果类中定义了构造方法,则必须使用类中定义的构造方法,否则会出错!

    例:

    class Student{
            float height,weight;
            String head,ear,hand,foot,mouth;
            Student()
            {
                height=0;
                weight=0;
                head="myhead";
                ear="myear";
                hand="myhead";
                foot="myfoot";
                mouth="mymouth";
                System.out.println("new Student ok!!!");
            }
        }
    
    public class Man{
        public static void main(String args[]){
            Student zhangsan=new Student();    
        }
    }

    对象的使用

      对象不仅可以改变自己变量的状态,而且还拥有使用创建它的那个类中的方法的能力。对象通过这些方法可以产生一定的行为,通过运算符“.”可以实现对变量和方法的访问。而变量和方法通过设置的权限来限制其他对象对自身的访问。

    1.对象调用自己的变量

     对象名.变量名

    2.对象调用自己的方法

     对象名.方法名(参数);

    例:

    class Person{
            float height,weight;
            String head,ear,hand,foot,mouth;
            Person()
            {
                height=175;
                weight=70;
                head="myhead";
                ear="myear";
                hand="myhead";
                foot="myfoot";
                mouth="mymouth";
                System.out.println("new Student ok!!!");
            }
            void speak(String s)
            {
                System.out.println("say:"+s);
            }
        }
    
    public class Human{
        public static void main(String args[]){
            Person zhangsan=new Person();
            zhangsan.speak("hello java!!!");
            Person lisi=new Person();
            lisi.ear="大耳朵";
            lisi.speak("I am studying java!!!");
        }
    }

  • 相关阅读:
    AngularJS ——ngResource、RESTful APIs 使用
    Angularjs promise-$q服务详解
    ui-router参数传递
    overflow知多少
    css3 @font-face设置嵌入字体
    CSS3文本超出容器显示省略号之text-overflow属性
    CSS3线性渐变和径向渐变
    CSS3边框图片属性---border-image
    在移动端如何选择字体大小和布局的单位,px或dp?
    angular $http配置属性
  • 原文地址:https://www.cnblogs.com/scf141592/p/5723474.html
Copyright © 2011-2022 走看看