java复习之面向对象

类和对象

类的修饰符

包括 public、private和protected,也可以不写,表示是默认修饰符。
用public修饰的成员表示是公有的,也就是它可以被其他任何对象访问。类中限定为private的成员只能被这个类本身访问,在类外不可见。用 protected修饰的成员是受保护的,只可以被同一包及其子类的实例对象访问。如果不写任何修饰符,则表明是默认的,相应的成员可以被所在包中的各类访问。

总结

  1. 源文件名必须根据文件中的公有类名来定义,并且要区分大小写。
  2. Object是Java所有类的直接或间接父类 。
  3. class定义的大括号之后没有分隔符“;”
  4. 构造方法的名字与类名相同,没有返回值,在创建对象实例时通过new运算符自动调用。
  5. 一般来讲,构造方法应该为所有的成员变量赋初值,成员变量的值亦称为对象的属性值
  6. 引用变量赋值时,会影响相同的引用变量。String变量不是这样的,编译器先去常量池查找该常量是否已经存在,如果不存在,则在常量池创建一个新的字符串常量;如果该常量已经存在,那么新创建的String类型引用指向常量池中已经存在的值相同的字符串常量,也就是说这时不在常量池开辟新的内存。

方法的定义

·方法名必须是一个合法的标识符。
  ·返回类型是方法返回值的类型。如果方法不返回任何值,则应该声明为void。Java对待返回值的要求很严格,方法返回值必须与所声明的类型相匹配。如果方法声明有返回值,比如说是int , 那么方法从任何一个分支返回时都必须返回一个整数值。
  ·修饰符段可以含有几个不同的修饰符,其中限定访问权限的修饰符包括 public、protected 和 private。访问修饰符的含义参见教材79页。
  方法的定义
  ·参数列表是传送给方法的参数表。表中各元素间以逗号分隔,每个元素由一个类型和一个标识符表示的参数组成。
  ·块表示方法体,是要实际执行的代码段,是由一对大括号括起来的语句序列。方法体中一般使用return语句表示方法的结束。如果方法的返回类型不是void,则需要在return语句中指明方法的返回值。

按值传送

传给方法的值称为实参,方法的参数列表中列出的值称为形参。
如果形参是引用,则调用方法时传递给形参的是一个地址,即实参指向的对象的首地址。方法返回时,这个地址也不会被改变,但地址内保存的内容是可以改变的。因此,当从方法中退出时,所修改的对象内容可以保留下来。

方法重载

允许多个方法使用同一个方法名,这就是方法名的重载(Overload)。。一般地,方法名称加上方法的参数列表(包括方法中参数的个数、顺序和类型)称为方法签名。方法重载时,方法签名一定不能相同。
总结:重载的特点,方法名相同,参数个数、类型、顺序不同

静态变量

用 static修饰 ,称为静态成员或类成员,包括静态变量和静态方法。在程序设计中,有时一个变量会被类的多个实例对象所共享,以实现多个对象之间的通信,或用于记录已被创建的对象的个数等。
静态变量是唯一为类中所有对象共享的变量。

静态方法

·由于静态方法可以在没有定义它所从属的类的对象的情况下加以调用,故不存在 this值 。因此,一个静态方法只能使用其内部定义的参数或静态变量,如果想使用非静态变量将引起编译错误。
  ·静态方法不能被重写。也就是说,在这个类的后代类中,不能有相同名称、相同参数列表的方法。

静态变量与实例变量区别

语法区别:静态变量需要static关键字修饰,实例变量不需要。
  程序运行时的区别:
  静态变量从属于类,实例变量从属于对象。
  实例变量必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量;静态变量即类变量,只要程序加载了类,静态变量就会被分配空间,即可使用。
  综上,实例变量必须创建对象后通过这个对象来使用,静态变量可以直接使用类名来引用。
  静态方法和实例方法的区别
  语法区别:静态方法需要static关键字修饰,实例变量不需要。
  静态方法不需要创建类的实例,可以直接通过类名来访问,因为在静态方法中不能使用this关键字,也不能直接访问所属类的实例变量和实例方法,但是可以直接访问所属类的静态变量和静态方法。

包装类

但当想用处理对象一样的方式来处理基本类型的数据时,必须将基本类型值“包装”为一个对象。
它可以用在程序中需要对象而不是需要基本类型值的地方。对于 Java中的每种基本数据类型,Java类库中都有一个对应的包装类。所有的包装类都定义在java. lang包中。

包装类的方法(常用)

·Integer( int value):构造方法,创建Integer对象,用来保存值value。
  ·byte byteValue ( ) 、double doubleValue ( ) 、float floatValue ( ) 、int intValue ( ) 、long longValue( ) :按各自对应的基本数据类型返回Integer对象的值。
  ·static intparselnt( String str):按 int类型返回存储在指定字符串str中的值。
  ·static StringtoBinaryString ( int num) 、static String toHexString ( int num) 、static StringtoOctalString(int num) :将指定的整型值在对应的进制下按字符串形式返回。
Java的包装类中常常含有常量,这非常有用。例如,Integer类有两个常量MIN_VALUE和 MAX_VALUE,它们分别保存int型中的最小值及最大值。其他的包装类中也有对应于相应类型的类似的常量。

自动装箱,拆箱

自动将基本数据类型转换为对应的包装类的过程称为自动装箱。逆过程就是拆箱。
一般来说,基本数据类型与对象之间的赋值是不相容的。自动装箱与自动拆箱仅能用在基本数据类型与对应的包装类之间。其他的情况,如将基本数据类型赋给对象引用变量,或是相反的过程,都会导致编译错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

guangod

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值