面向对象

1面向对象的三条主线

a:类及其类的构成成分:属性,方法,构造器,代码块,内部类

b:面向对象编程的特征:封装性,继承性,多态性(抽象性)

c:其它的关键字:this import  package static final abstract ............

2.类组成成分:

 1.属性:(成员变量  Field)
 2.方法:(成员方法,函数,Method)
3.构造器(constructor 构造方法) 

类的属性:成员变量vs局部变量

a;相同点:
a定义的格式: 变量类型  变量名 =初始化值;b都有作用域
不同点:

1.声明的位置不同:a成员变量:类的里边,方法的外边;b局部变量 :方法的里边,方法的形参部分,代码块中

2.成员变量的修饰符有四个:public private protect 缺省

   局部变量没有专门的修饰符,他和方法的修饰符保持一致

3.初始化值:一定会有初始化值

成员变量在声明的时候,如果不显示初始化值,那么不同的类型他一定会默认不同的初始化值

short   byyte int long====>0

double float=====>0.0

char====>空格

boolean====>false 

引用类型=====>null

局部变量:声明的时候必须显示初始化的值(局部变量没有默认的初始化值)

4.二者在内存中存放的位置不同:成员变量在堆内存  局部变量在栈内存

变量的总结

1.按照数据类型的划分:基本数据类型vs引用数据类型
2.按照声明的位置不同:成员变量vs局部变量

2.方法


2类初始化的内存解析

a:内存的划分结构:
栈内存:局部变量   对象的引用名   就是这个p对象名  数组的引用名  (Person p=new Person())
堆内存:成员变量  new出来的“东西“
方法区:含字符串常量
静态域:声明为static的常量

3.方法重载和方法重写

a:方法重载的条件:在一个类中,方法名相同,参数列表不同(1参数的类型不同,2参数的个数),方法重载和返回值无关!'
b:方法重写override:子类的方法和父类的一模一样,连返回值都一样.

4.匿名类的对象:创建的类都是匿名的

a:当考虑到我们只需要调用一次类的对象的时候,由于没有对象名指向堆内存 ,没有办法引用,之后垃圾回收器进行回收将把可以考虑使用匿名的方式来创建类。

b:创建的匿名类的对象只能调用一次!

5 :可变个数形参的方法:

a:格式:对于放法的形参:数据类型...形参名
b:可变个数形参的方法与同名的方法构成方法的重载
c:可变个数形参的方法在调用的时候,参数的个数从0开始,到无穷都可以
d:使用可变个数形参的方法是和方法使用数组的形参是一致的;
e:若方法存在可变个数的形参,那么可变个数的形参一定是放在参数的最后,(int...num,int i),当如果传参数传一个1的话,那么程序就不知道这个1到底是可变参数传的1 还是i传的1 ,所以可变参数要放在末尾
f:在一个方法中,最多声明一个可变参数。(int...num,String..str)如果有一个或者多个可变形参的话,那么就会造成和e同等类类型的错误。
例子:当利用可变参数的方法求和时的代码

6.方法参数的传递(重点)

形参:方法声明是,小括号内的参数
实参:调用方法的时候,实际传入参数的值;
参数传递的规律:java中参数传递都遵循值传递机制
a:形参是基本数据类型:将实参的值传递给形参的基本输入类型的变量(只是将值传递给了形参,形参和实参即使都同是i,j一个名字)
b:形参是引用数据类型:将实参的引用类型变量的值(对应的堆空间对象实体的地址值)传递给形参的引用类型变量


7.四大权限修饰符


8.this关键字

1.使用在类中,可以用来修饰属性,方法,构造器
2.表示当前对象或者当前正在创造的对象
3.当形参和成员变量的名字一致时,如果在方法内部需要使用成员变量,必须添加this来表明该变量是类成员
4.在任意的方法内,如果使用当前类的成员变量或成员方法可以在前边添加this,来增强程序的阅读性。
5. a在构造器中使用this(形参列表)要声明在构造器的首行!
    b类中若存在n个构造器,那么最多有n-1个构造器中使用了this!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值