Java Se----面向对象

来源:互联网 发布:博明软件 廖胡军 编辑:程序博客网 时间:2024/05/16 14:19

面向对象

一、面向对象思想(Object Oriented Programming):

1. 一切客观存在的事物都是对象,万物皆对象。

2. 对象一定具有自己的特征(属性)和行为(方法)。

 

二、类:

1. 概念:

I. 在一组相同或类似的对象中,抽取出共性的特征和行为。

II. 类是对象的模板。

现实生活中的对象--(抽象)-->程序中的模板(类)-->

创建程序中的对象-->解决现实问题

 

2. 组成:

I. 属性:(代表对象有什么)

1). 实例变量(成员变量):声明在类的内部,函数的外部,当通过类构建对象的同时,所有成员变量都成为当前对象不可分割的特征。

2). 语法:数据类型 属性名;

 

局部变量

成员变量

定义位置

函数或函数中的结构中

类的内部、函数的外部

默认值

字面常量(与数组相同)

使用范围

从定义行到代码块结束

本类有效

命名冲突

不允许与局部变量重名

可与局部变量重名,但局部变量优先

注:如成员变量的声明和赋值分开完成,则赋值语句必须在函数内部。

 

II. 方法:(代表对象能做什么)

访问修饰符 返回值类型 方法名称(形式参数列表){

//方法主体

[return value;] //返回值

}

III. 方法重载(Overload):

1). 概念:方法名称相同、参数列表不同(类型、个数、顺序)。

2). 屏蔽使用的差异、灵活、便利。

代码举例:计算器对不同数据的计算

public class TestCalculator{public static void main(String[] args){Calculate calc = new Calculate();calc.subtract(1.1,2.2);calc.subtract(1,2.2);calc.subtract(1.1,2);calc.subtract("ha",2.2);calc.subtract(1.1,"hah");}}class Calculate{public double subtract(double num1,double num2){System.out.println(" subtract(double num1,double num2)");return 0;}public double subtract(int num1,double num2){System.out.println(" subtract(int num1,double num2)");return 0;}public double subtract(double num1,int num2){System.out.println(" subtract(double num1,int num2)");return 0;}public double subtract(String a,double b){System.out.println(" subtract(String a,double b)");return 0;}}


IV. 构造方法:

 

三、对象:

1. 概念:

I. 具有多个特征和行为的实体。

II. 对象是类的实例。

2. 创建对象:

I. 语法:数据类型 对象名 = new 数据类型();

II. 空间的分配:栈分配局部变量空间,堆分配对象空间。

III. 属性默认值:基本为对应的零值,引用为null

代码举例:

public class TestOOP{public static void main(String[] args){Dog d1 = new Dog();d1.breed = "二哈";d1.age = 2;d1.sex = '公';d1.furColor = "黑白";System.out.println(d1.breed + "\t" + d1.age + "\t" + d1.age + "\t" + d1.furColor);d1.eat();Dog d2 = new Dog();d2.breed = "阿拉斯加";d2.age = 2;d2.sex = '母';d2.furColor = "黑色";System.out.println(d2.breed + "\t" + d2.age + "\t" + d2.age + "\t" + d2.furColor);d2.eat();}}class Dog{String breed;//品种int age;char sex;String furColor;public void eat(){System.out.println("在吃黄金单身狗粮");}public void sleep(){System.out.println("睡。。。。。。");}public void shout(){System.out.println("嘤嘤嘤");}public void run(){}public void swim(){}}


四、访问属性和方法:

1. 引用(存储对象的局部变量)中保存的是对象的具体地址。(reference

2. 通过引用访问对象的属性和方法:

public class TestSchool{public static void main(String[] args){Student s1 = new Student();s1.name = "tom";s1.age = 21;s1.sex = '男';s1.score = 99D;Student s2 = new Student();s2.name = "jack";s2.age = 22;s2.sex = '男';s2.score = 98D;Student s3 = new Student();s3.name = "marry";s3.age = 20;s3.sex = '女';s3.score = 100D;Teacher t1 = new Teacher();double result = t1.getSum(s1.score,s2.score,s3.score);System.out.println("总分:" + result);}}class Teacher{String name;int age;char sex;double salary;public double getSum(double c1,double c2,double c3){return c1 + c2 + c3;}}class Student{String name;int age;char sex;double score;}


0 0
原创粉丝点击