javase之类和对象

javase之类和对象,第1张

javase之类和对象

一.什么是面向对象(Object Oriented Program OOP)

        1.面向对象是一种编程思想,我们不关注具体的实现过程,我们只需要给对象一些关键信息,交由对象具体实现。

        2.三个层次:

                1)概念层        (从具体的对象中抽象出来的属性,联系)

                2)逻辑层        (属性,行为之间的一些联系)

                3)物理层        (类和对象在内存中是如何存在的)

        3.语法

                1)定义一个类,类中有实例属性和实例方法

                        Class Classname{

                               Field//属性

                                Constructor//构造

                               Method//方法

                        }

                        例如:

class Student{

    String name;
    String age;

    public Students(String name, int age){
        this.name = name;
        this.age = age;
    }

    public void selfIntroduct(){
        System.out.println("我叫"+this.name+"今年"+age+"岁了");       
    }
}

                2)实例化对象

                        Classname Objectname = new Constructor()

                        例如:

Student s = new Student("猪八戒",500);

                        这个过程可以看作三步:1.JVM根据类的属性计算需要开辟的内存空间2.将实例变量按规则初始化3.创建一个本类的引用,使引用指向这篇内存空间。

                3)通过对象(实例instance)使用实例方法和实例变量

//调用实例方法
s.selfIntroduction();
//调用实例变量
s.name;

        4.构造方法

                实例变量,构造方法和实例方法都是和对象也就是实例有关的。因此,所有的 *** 作也都依赖于实例。那么,如何获得实例呢?java是通过构造方法来获得对象的

                1.构造方法的名称和类名相同并且没有返回值。

                2.没有写构造方法时,java会默认有一个无参构造方法

                3.当自己写了构造方法时,java给的无参构造方法就没有了,有参和无参构造方法都需要自己写。

                4.构造方法中可以通过this调用其他构造方法,需注意this必须时构造方法的第一条语句。

        5.this引用

                java编译器给每个“成员方法”增加了一个隐藏的引用类型参数,该引用参数指向当前对象。在成员方法中所有成员变量的 *** 作,都是通过该引用去访问。例如有参构造方法中:

 public Students(String name, int age){
        //形参和成员变量名冲突
        //this.name是成员变量,name根据就近原则是形参
        this.name = name;
        this.age = age;
 }

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存