面向对象

来源:互联网 发布:超级优化有几个女主角 编辑:程序博客网 时间:2024/05/23 01:15

面向过程与面向对象的区别

面向过程:一个线性的做事方法,一步步来,所有事情自己做
面向对象:站在高度上,很多事情让别人代做

(注释:两者相辅相成并不对立)

对象和类的定义

对象:能产生想法的具体的事物(小范围,具体的,万物皆是对象)

类:对对象抽象出来的部分(大范围,抽象的)类有包含:成员变量和成员方法

(注释:现有对象才能产生类)

对象和类的关系

特殊到一般具体到抽象;

类可以看成一类对象的模板,对象可以看见该类的一个具体实例

类是用于描述同一类形的对象的一个抽象的概念,类中定义了这一类对象所应具有的静态和动态属性

构造方法:

修饰符 类名(){}

当类没有任何一个构造器的时候,虚拟机会帮这个类创建一个无参的构造方法,但是如果类拥有任何一种构造方法,虚拟机就不会帮你再创建。

调用类属性和方法

对象名.成员变量

对象名.成员方法

全局变量和局部变量:

全局变量属于整个类,所有方法都可以使用和更改他;
局部变量属于方法本身;只有在这个局部变量的方法内部才能使用
当全局变量和局部变量的名字相同的时候,在方法调用的时候,首先使用方法内的局部变量

创建一个对象的方法:new 一个对象

new 关键字调用的是类的构造方法,通过类的构造方法可以产生一个新的对象。
调用类的方法需要使用类的对象.方法名(参数列表);

this 关键字 代表对象本身,p.name this == p
当类没有任何一个构造器的时候,虚拟机会帮这个类创建一个无参的构造方法,但是如果类拥有任何一种构造方法,虚拟机就不会帮你再创建。
构造器的作用:产生一个对象的模版。为了按照某种结构制造一个对象;

值传递和引用传递:

值传递:基本数据类型 本身不会发生变化;
引用传递:引用数据类型(类(对象),数组,接口(特殊类))会对本身产生变化;
类包含:属性(成员变量)和方法(成员方法),构造方法(特殊方法),代码块,结构体,内部类
内存结构:栈(局部变量,名字)堆(new 的对象(内容))
package com.sxt;/** * 创建一个人类 * @author Administrator * */public class Person {//属性String name;//名字int age;//年龄String sex;//性别double height;//身高double weight;//体重String idCard;//证件//构造方法public Person(String name,int age,String sex,double height,double weight,String idCard){this.name=name;this.age=age;this.sex=sex;this.height=height;this.weight=weight;this.idCard=idCard;}//定义方法public static void eat(){System.out.println("我在吃饭");}public static void doudou(){System.out.println("我在打豆豆");}public static void sleep(){System.out.println("我在睡觉");}public static void main(String[] args) {/*创建对象
Person xiaolan=new Person();xiaolan.name="小懒";xiaolan.age=18;xiaolan.sex="男";xiaolan.cs(xiaolan);System.out.println(xiaolan.sex);xiaolan.eat();xiaolan.sleep();xiaolan.doudou();*/Person xiuxiu=new Person("栗子", 18, "女", 164, 52.5, "12345678901");System.out.println(xiuxiu.name+"\t"+xiuxiu.age+"岁\t"+xiuxiu.sex+"\t"+xiuxiu.height+"cm\t"+xiuxiu.weight+"kg\t"+xiuxiu.idCard);}public void  cs(Person g){g.sex="女";}}



原创粉丝点击