package com.test; public class OO { /** 1.面向对象:C语言是面向过程的语言,关心函数的实现; * java不关心具体的函数实现,而是在此基础上做了一个抽象(改进); * java认为所有的方法(行为)是属于某个对象,那么面向对象首先思考的是对象和对象之间的关系,当我们思考清楚过后,我们才考虑具体的代码逻辑(过程); * 面向对象首先关心的是对象是否有某种行为和属性,而最后才关心函数(行为)的实现。 **/ /** 2.类和对象(new) * 访问修饰符 class 类名{ *属性 *方法(函数,行为) * } * 类:是一个类型的数据,是一个抽象的概念,是不能直接使用的,要使用类的属性和方法,必须通过类的实例对象(实实在在的一个对象:new关键字创建)。 * 类的属性如果没有手动初始化,基本数据类型的值是0,引用类型、字符串为null。 **/ /** 3.构造函数 * ①JDK为我们提供创建对象的一个方法; * ②访问修饰符 类名(参数列表){//具体代码};参数列表为空,叫做默认构造函数,有参数列表,叫做有参构造函数。 * ③假如不写构造函数,JDK会提供一个默认的实现;当我们写了一个有参构造函数,那么默认的构造函数就不能被调用,我们必须手动写一个默认的构造函数(重写)。 * ④当调用默认或有参构造函数时,只有一个函数被调用。 **/ /*private String name; private int age; public String getinfo(){return name+"_"+age;} public OO(String name,int age){System.out.println("OO(String name,int age)");} public OO(){System.out.println("OO()");} public static void main(String[]args){ OO oo = new OO("hello",20); //System.out.println(oo.age); //System.out.println(oo.getinfo()); }*/ /** 4.this指针 *代表当前的对象(谁去调用,谁就是当前对象)。 **/ /** 5.总结 *OO oo=new OO() *new:实际在内存中分配了一个空间用于装载对象 *OO oo:引用类型 *person:句柄通过"="去引用真实的对象。 **/ private String name; private int age; public String getinfo(){return name+"_"+age;} public OO(String name,int age){ this.name=name; this.age=age; } public static void main(String[]args){ OO oo = new OO("hello",20); System.out.println(oo.getinfo()); } }