网站首页 > java教程 正文
面向对象学习的三条主线:
1、Java类及类的成员:属性(成员变量)、方法、构造器;代码块、内部类
2、面向对象的三大特性:封装、继承、多态
3、关键字:this、super、static、final、abstract、interface、package、import等
面向对象与面向过程:
1、面向过程:强调的是功能行为,以函数为最小单位,考虑怎么做;
2、面向对象:强调具备功能的对象,以类、对象为最小单位,考虑谁来做
完成一个功能(项目)的思路:
- 根据问题需求,选择问题所针对的现实世界的实体类。
- 从实体中寻找解决问题相关的属性和功能,这些属性和功能形成了概念世界中的类。
- 把抽象的实体用计算机语言进行描述,形成计算机中类的定义。
- 将类实例化成计算机中的对象。
面向对象中两个重要的概念:
类:对一类事物的描述,是抽象的、概念上的定义
对象:是实际存在的该类事物的每个个体,也被称为实例 instance
>面向对象程序设计重点是类的设计
>设计类,就是设计类的成员
面向对象思想落地的实现规则:
- 创建类,设计类的成员
- 创建类的对象
- 通过 “对象 . 属性” 或者 “对象 . 方法” 调用对象的结构
注:属性 == 成员变量 == field == 字段、域
方法 == 函数 == 成员方法 == method
创建类的对象 == 类的实例化 == 实例化类
对象的内存解析:
class Car{
String color = "red";
int num = 4;
void show(){
System.out.println("color="+color+"..num="+num);
}
}
class CarTest {
public static void main(String[] args) {
Car c1 = new Car();
//建立对象c1
Car c2 = new Car();
//建立对象c2
c1.color = "blue"; //对对象的属性进行修改
c1.show(); //使用对象的方法
c2.show();
} }
属性 vs 局部变量:
相同点:
定义变量的格式:数据类型 变量名 = 变量值;
先声明,后使用;
变量都其对应的作用域;
变量的分类:
方式一:按数据类型
方式二:按在类中声明的位置
方法的声明:权限修饰符 返回值类型 方法名 (形参列表){ 方法体 }
Java方法中参数传递机制具体体现?
参数为基本数据类型时传递:数据值
参数为引用数据类型时传递:地址值(含变量的数据类型)
匿名对象:
在new一个对象的时候,没有显示的赋给一个变量名,即是匿名对象。
特点:匿名对象只能调用一次
例:new User() . eat();
new Phone() . sendEmail();
应用场景:
PhoneMall mall = new PhoneMall();
//匿名对象的使用
mall . show ( new Phone() );
class PhoneMall (){
public void show (Phone phone) {
phone . sendEmail ();
phone . pay();
}
}
猜你喜欢
- 2025-05-24 你所不知道的Java8新特性:Lambda表达式和函数式接口
- 2025-05-24 Java17禁忌用法:这7种写法会让你的GC疯狂加班
- 2025-05-24 吊打面试官(十二)--Java语言中ArrayList类一文全掌握
- 2025-05-24 Java 8新特性全面详解:让编程更优雅的“黑科技”集锦
- 2025-05-24 Java 静态内部类面试题与高质量答案合集
- 2025-05-24 java8有哪些新性能?
- 2025-05-24 为什么要使用lambda表达式?原来如此,涨知识了
- 2025-05-24 听说这四个概念,很多Java老手都说不清,你能分得清么?
- 2025-05-24 Java内部类全攻略:掌握4种类型实现代码解耦与灵活设计
- 2025-05-24 Java与Scala的Spark内存管理,当高效撞上安全,谁在主宰你的内存
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)