一.什么是面向对象(Object Oriented Program OOP)
1.面向对象是一种编程思想,我们不关注具体的实现过程,我们只需要给对象一些关键信息,交由对象具体实现。
2.三个层次:
1)概念层 (从具体的对象中抽象出来的属性,联系)
2)逻辑层 (属性,行为之间的一些联系)
3)物理层 (类和对象在内存中是如何存在的)
3.语法
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; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)