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;}
- java se 面向对象
- JAVA SE面向对象
- Java Se----面向对象
- Java Se----面向对象
- java SE 面向对象基础
- JAVA SE 面向对象笔记
- 【Java SE】面向对象基础
- Java SE 2.面向对象
- Java SE学习笔记-面向对象
- Java SE 学习---面向对象程序设计
- java SE基础整理(面向对象)
- Java Se----面向对象(封装、继承)
- Java Se----面向对象(多态)
- 2 java se(2)----面向对象
- 【Java SE】面向对象高级特性
- Java SE 面向对象之封装
- Java SE 面向对象之继承
- JAVA SE 面向对象回顾01
- 网络方面的职位
- BD___A的B次方的后三位数
- javaweb学习总结(二十)——JavaBean总结
- fragment1
- HTML语言基础
- Java Se----面向对象
- 那些年薪百万的程序员“咸鱼翻身”没有透露的秘密
- python调用自编模块的方法
- 【MVC框架】基础知识
- UVA 7146 Defeat The Enemy (贪心)
- JQuery插件使用之Validation 快速完成表单验证的几种方式
- fragment2
- 地铁的研究
- Bluetooth-->蓝牙开发扫描设备,及蓝牙设备类型