我的Java学习笔记 java11-面向对象
java11-面向对象
1.什么是面向对象,
2.面向对象的三大特征 (抽象 继承 多态)
3.什么是封装
4.什么是对象,什么是类
5.类的声明与使用
6.构建对象的方式
7.属性安全性的设置
8.构造方法的声明与调用
回顾:java的三种引用类型: 数组 类 接口
1.编程语言-高级语言
C : 1968 面向过程的
|
C++ : 1982 面向对象
|-Java : 1994
|-C# /J# : 2000 奴化
oracle: DB ordbms
void main(){
}
2.什么是面向对象编程?
是指将现实世界中的实体用程序语言来实现,模拟现实世界
实体:在客观世界中存在物体,可描述(属性) 有功能
(面对对象就是:
把数据及对数据的操作方法放在一起,作为一个相互依存的整体——对象。对同类对象抽象出其共性,形成类。类中的大多数数据,只能用本类的方法进行处理。类通过一个简单的外部接口与外界发生关系,对象与对象之间通过消息进行通信。程序流程由用户在使用中决定。
面向过程就是:
自顶向下顺序执行,逐步求精;其程序结构是按功能划分为若干个基本模块,这些模块形成一个树状结构;各模块之间的关系尽可能简单,在功能上相对独立;每一模块内部均是由顺序、选择和循环三种基本结构组成;其模块化实现的具体方法是使用子程序。程序流程在写程序时就已决定。)
3.面向对象的三大原则:
3.1 封装: 把需要的东西藏起来 安全性
3.2 继承: 代码复用性更高
3.3 多态: 可扩展,可维护
人类
年龄:
姓名:
身高:
性别:
吃饭()
睡觉()
长留弟子类
年龄:16
姓名:花千骨
身高:1.65f
性别:女
修仙()
程序员类
年龄:20
姓名:何涛
身高:1.7f
性别:男
打豆豆()
编程()
现实世界 信息世界(头脑) 机器世界
花千骨 =====> 数据
何涛
oop(Object Oriented Programming):
a.从一组相同类型的对象中分析出属性和方法
b.将相同的属性和方法封装成类
c.用相应的类型构建对象
3.1什么是属性:
对象的特征
3.2什么是方法:
对象的功能(做什么)]
3.3 什么是类?
类就是类型,泛指,抽象的,不具体的
数据类型: 基本:byte short int long float double char boolean
不够:自己构建类型: 复合类型
3.4 什么是对象?
特指,是具体的
4.类中包含:
4.1 实例属性
要求:属性私有化,为了安全,为了避免客户直接操作属性,违反自然规则
提供一组getter/setter来封装属性,为用户的操作提供接口
public xxx getXXX():获取数据
public void setxxxx(参数):修改数据
4.2 实例方法
5. 类的声明
public class 类型名称{
//属性
//方法
}
6.构建对象
类型名称 对象名=new 类型名称();
6.1 调用对象的属性和方法
对象名. xxxx();
7.构造方法: 和类同名的方法 作用:构建对象
//默认的构造方法
public 类名(){
}
//属性决定参数的类型和个数
public 类名(参数类型 参数名[,....]){
}
1.)如果一个类没有声明任何的构造方法,系统会自动分配一个默认的构造方法,用于创建对象
一旦用户声明了构造方法,那么系统不会做任何的分配
2.构造方法只能放在new 后面,不能随意调用
3.调用一次,就构建一个对象
4.执行在所有代码之前
8.方法重载:在同一个类中,方法名相同,参数不同的方法,表示不同的方法
System.out.println("string");
System.out.println(100);
System.out.println(1.23f);
9.public String toString(){
}
10.this:这个对象
10.1 在类中代替后面new出来的对象,当前运行时的对象
this.name
this.setName();
10.2 调用自己的其他的构造方法
this(); 可以调用自己的其他的构造方法,但是必须放在第一句
11.访问修饰符
public : 公开的 所有的都能用
protected: 所保护的 只给子类用(不同的包也可以)
什么都没有: 默认的 只能邻居(同一个包的其它类)
private: 私有的 只给自己用