类与对象笔记

面向对象编程三个特性

1 封装性
2 继承性
3多态性

类体

抽象的关键是抓住事物的两个方面:属性和行为。

方法

1:如果局部变量与成员变量的名字相同,那么成员变量被隐藏,即该成员变量在这个方法体内暂时无效。
2:如果想在该方法中使用被隐藏的成员变量,必须使用关键字this。
3:成员变量有默认值,但局部变量没有默认值。
4:当一个方法是void 类型的时,该方法不需要返回数据。
5:方法体中声明的变量和方法的参数被称作局部变量。哦 vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv

栈与堆

对象的引用存在栈中,对象的实体(分配给对象的变量)存在堆中。
栈的优:存取速度快;缺:存在栈中的数据大小与生存日期必须是确定的,缺乏灵活性。
堆:可以动态的分配内存大小,生存日期也不必告诉编译器,存取速度慢

类的UML图

第一层名字层:如果类的名字是常规字形,表明该类是具体类,如果是斜体字形,表明该类是抽象 类。
第二层变量层:变量名字:类型。
第三层方法层:方法名字(参数列表):类型。

构造方法与对象的创建

1:用类声明的变量被称为对象
2:如果类中没有编写构造方法,系统会默认该类只有一个构造方法,并且该构造方法无参数,方法体中没有语句。有了的话就不提供默认的构造方法。
3:构造方法没有类型。
4:创建对象-对象的声明
-为声明的对象分配变量
使用new运算符和类的构造方法为声明的对象分配变量。
5:分配给对象的变量被习惯地称作对象的实体。
6:在java中,对于同一个类的两个对象,允许
对象1=对象2;

参数传值

1:方法调用的时候,参数变量必须有具体的值。
2:参数传递的值的级别不可以高于该参数的级别。
3:一个类声明的两个对象如果具有相同的引用,二者就具有完全相同的变量(实体)
4可变参数"…"表示若干个参数,这些参数的类型必须相同

public void f(int …x)//"x"是参数代表

例子:

public int getSum(int … x){
int sum=0;
for(int i=0;i<x.length;i++){
sum=sum+x[i];
}
return sum;
}

上述的getSum(int … x)方法中的for循环语句可更改为

 for(int param:x){
 sum=sum+param;
 }

实例成员与类成员

1:用static给予修饰的称作类变量
2:类变量不仅可以通过某个对象访问,也可以通过类名访问
3:对象的实例变量可以通过该对象访问,但不能使用类名访问

实例方法和类方法的定义

1:static需要放在方法类型的前面。
2:实例方法,方法的入口地址被所有的对象共享,当所有的对象都不存在时,方法的入口地址才取消。
3:实例方法不能通过类名调用,只能由对象来调用。

方法重载

定义:一个类中可以有多个方法具有相同的名字
方法参数的不同是指满足下列之一
方法的参数的个数不同或参数相同但是参数的类型不同。
1:如果两个方法的名字相同,即使返回类型不同,也必须保证参数不同。

this关键字

1:this可以出现在实例方法和构造方法中,但不可以出现在类方法中
2:通常情况下,可以省略实例成员变量名字前面的“this”,以及static变量前面的类名,当实例成员变量和局部变量的名字相同时则不可以。

目的:有效区分名字相同的类

访问权限

1:访问限制修饰符有 Private 、protected、public
2:类中的实例方法总是可以操作该类中的实例变量和类变量;类方法总是可以操作该类中的类变量,与访问限制符无关
友好变量:不用private 、protected、public修饰的成员变量和方法
注意:如果源文件使用import语句引入了另一个包中的类,并使用该类创建了一个对象,那么该类的这个对象将不能访问自己的友好变量和友好方法。
3:友好类 ,一个类中使用友好类创建对象时,要保证它们是在同一个包中。
*访问限制修饰符按访问权限从高到低的排列顺序是 public protected 友好的 private

基本类型的封装性

Double(double num)创建一个Double类型的对象
Double对象调用doubleValue()方法可以返回该对象含有的double型数据
Float(float num)创建一个Float类型的对象
同上;

对象数组

Student[ ]stu;
stu=new Student[10];
sut[0]=new Student;
//Student stu[ ]=new Student[10];//创建对象数组stu以及创建Student对象stu[i];

JRE扩展与jar文件

Java运行的环境提供了扩展(jre/lib/ext),只要将类打包为jar格式文件,放入扩展中,程序就可以使用import语句使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值