目录
1
面向过程与面向对象的区别:
(1)面向过程:
- 实现的具体过程,因果关系
- 优点:业务逻辑简单的程序,可以达到快速开发
- 缺点:难解决复杂的业务逻辑;耦合度高,扩展能力差,组件复用低
(2)面向对象:
- 关注对象这个独立体能完成的功能
- 优点:耦合度低,扩展力强,组件复用强,更符合人的思维方式
- 缺点:前期投入成本高,需要进行独立体的抽取
2
面向对象的三大特征:
封装、继承、多态
Java 学习记录4——封装、继承、多态_YF amer的博客-CSDN博客
(第四大特征:抽象)
3
类和对象的概念
(1)类介绍:
- 类在现实世界是不存在的,为一个概念,部分对象间具有的共同特征,人抽象思考的结果
(2)对象介绍:
- 现实实际存在的个体
(3)关系:
- 类--(实例化)-->对象(又被称为实例instance)
- 对象--(抽象)-->类
(4)重点:
- 类描述的是对象共同的特征,如身高,体重
- 特征访问的时候,需要先创建对象,通过对象去访问中这个特征。(因为具体的特征在不同的对象中,其值不相同。)
(5)类的信息:
- 主要描述 状态+动作
- 状态:一个类的属性
- 动作:一个类的方法
- 状态和动作具体到了某个对象之上后,其结果可能不一样
4
类的定义,创建及使用
(1)定义的语法结构:
- [修饰符列表] class 类名 {类体}
- 类体:属性,方法
例:
//1 public class Student { //状态 //定义变量:成员变量(方法体之外) String no; String name; boolean sex; int age; //动作:学习,运动... }
(2)创建及使用:
//连1 //2(在同一src下创建另一个类) //实例一个1中的学生类, public class StudentText { public static void main(String[] args) { int i = 10; Student s1=new Student();//Student是一个数据类型,s1是一个变量名 s1.name="王五";//特征访问的时候,需要先创建对象,通过对象去访问中这个特征 System.out.println("姓名为"+s1.name); } }
- 成员变量(Student类中的name)不能直接访问,需要通过创建对象(new一个对象)进行访问。(实例后就是实例变量了)
- s1可以称为实例对象(或引用),值为一个java对象的地址。
- s1.name则为实例对象的具体属性(实例变量),在堆内存存储,只能以该形式(实例对象名.实例变量名)访问。未赋值则有一个初始值。
- 一个类可以实例多个对象。
- new运算符进行创建对象。
(3) 一个类的属性为另一个类的实例对象:
//3 public class Student1 { String name; Bag bag;//Bag为引用数据类型,和int等一个道理;bag为一个实例对象 }
//连3 //4 public class Bag { String book1; //铅笔盒... }
//连3,4 //5 public class StudentText { public static void main(String[] args) { Student1 s2=new Student1(); s2.bag=new Bag(); s2.bag.book1="语文";// s2.name="李四"; System.out.println(s2.name+"的"+s2.bag.book1);//李四的语文 } }
- 解释:学生对象拥有一个书包的对象。
若有两个人互为朋友,那么在创建两个人的对象的属性当中就可以互相实例对方为朋友(像上边的书包) 。
5
this、static、final
java 学习记录6——this、static_YF amer的博客-CSDN博客
6
关于包
- 名为package
(1)功能:
- 方便查找,管理,维护
(2)定义:
- 在Java源程序第一行编写package语句
- package只能编写一句话
- 结构:package 包名
(3)包名命名规范:
- 公司域名倒序+项目名+模块名+功能名;(避免重名)
- 包名要全部小写,包名也是标识符,遵循标识符命名规则
- 一个包对应一个目录
- 使用包之后,类名为package后面全部
import
- import语句用来导入其他类,同一个包下的类不需要导入
import语法格式:
- import 类名;
- import 包名.*;
import语句要编写再package语句下,class语句之上
7
访问权限修饰符
- 访问权限修饰符控制元素的访问范围
访问权限修饰符包括:
public | 表示公开的,任何位置都可以访问 |
protected | 同包,子类可以访问 |
不写 | 同包可以访问 |
private | 表示私有的,只能在本类中访问 |
- 访问控制权限修饰符可以修饰类、变量、方法...
- 当某个数据只希望子类可以使用时,使用protected进行修饰
- 修饰范围:private<不写<protected<public
- 类只用public和不写进行修饰(内部类除外)
8