青岛市工程建设信息网站,做盗版电影网站犯法不,建筑公司logo设计,uc浏览器关键词排名优化目录一、面向对象二、类与对象三、对象内存图四、成员变量和局部变量区别五、this关键字六、构造器/构造方法一、面向对象
一种编程思想:也就是说我们要以何种思路#xff0c;解决问题#xff0c;以何种形式组织代码 当解决一个问题的时候#xff0c;面向对象会把事物抽象成…
目录一、面向对象二、类与对象三、对象内存图四、成员变量和局部变量区别五、this关键字六、构造器/构造方法一、面向对象
一种编程思想:也就是说我们要以何种思路解决问题以何种形式组织代码 当解决一个问题的时候面向对象会把事物抽象成对象的概念就是说这个问题里面有哪些对象然后给对象赋一些属性和方法然后让每个对象去执行自己的方法问题得到解决。 优点易维护、易复用、易扩展由于面向对象有封装、继承、多态性的特性可以设计出低耦合的系统使系统 更加灵活、更加易于维护缺点性能比面向过程低,因为类调用时需要实例化开销比较大比较消耗资源
面向对象学什么
学习自己如何设计对象学习已有对象如何使用
二、类与对象
类一组相关属性和行为的集合抽象的可以理解为一张用于创建对象的设计图或者蓝图 属性成员变量和定义变量的形式一样位置不同行为成员方法和方法类似不过需要去掉static关键字 对象是根据类创建出的一个具体的实例一个类可以创建出多个对象 例子一设计类
public class Student {String name;//属性int age;//属性/** 行为*/ public void study(){System.out.println(学习java);}
}创建对象和使用对象的格式
创建对格式象类名 对象名new 类名();变量的使用格式对象名.变量名;方法的使用格式对象名.方法名(实际参数);
例子二创建对象和使用对象
public class Main {//在main方法中创建对象public static void main(String[] args) {Student snew Student();//创建对格式象类名 对象名new 类名();s.age18;//变量的使用格式对象名.变量名;s.namestef;//变量的使用格式对象名.变量名;System.out.println(s.age);System.out.println(s.name);s.study();//方法的使用格式对象名.方法名(实际参数);}
}三、对象内存图 四、成员变量和局部变量区别 五、this关键字
首先this关键字是什么呢 代表当前类对象的引用地址也就是说通过this可以定位到当前对象 例子 这是一个类里面只有一个方法用来打印this的值
public class TestThis {/** 行为*/public void show(){System.out.println(我是this地址this);}
}在主方法中调用类的方法并打印对象
public class Main {public static void main(String[] args) {TestThis test1new TestThis();System.out.println(我是test1对象地址test1);test1.show();TestThis test2new TestThis();System.out.println(我是test2对象地址test2);test2.show();}
}运行结果
我是test1对象地址TestThis682a0b20
我是this地址TestThis682a0b20
我是test2对象地址TestThis3d075dc0
我是this地址TestThis3d075dc0结论 可以看到打印test1对象和test1对象所调用对象中打印this的值一样test2对象同理但tes1对象和test2对象不一样。 可见this代表当前类对象的引用地址也就是说通过this可以定位到当前对象 六、构造器/构造方法 用于初始化一个新建的对象 构造、创造对象时所调用的方法 构造器格式
方法名与类名相同大小写也要一致没有返回值类型连void都没有没有具体的返回值不能由return带回结果数据
注意事项 如果没有定义构造方法系统将给出一个默认的无参数构造方法 如果定义了构造方法系统将不再提供默认的构造方法 构造方法也是方法允许重载关系出现 推荐无参数构造方法和带参数构造方法都自己手动给出 构造器示例
public class Student {int age;String name;//无参构造public Student(){}//有参数构造public Student(String name,int age){this.namename;this.ageage;}
}使用构造器创建对象示例
Student s1new Student();//使用无参构造器创建对象
Student s2new Student(stef,18);//使用有参数构造器创建对象进行初始化