先明确几个概念的定义,因为我个人有些糊涂所有要确定下:
类 它是每一个java程序的基本结构,包含数据域和数据的操作机制;类提供了创建对象的模板。
对象 以类为模板创建的实例,一个类可以产生任意多个对象。
包 包是类和接口的集合。同一个包中的类在默认情况下可以互相访问,所以为了方便编程和管理,常把需要相关的或在一起协同工作的类和接口放在一个包里,包的另外一个作用是用于实现不同程序间类的重用。
封装性 允许或禁止访问类或对象的数据和成员的方法
重载性 允许一个成员方法有多重定义,可以根据不同需要选用不同的定义
继承性 获得相关类已经具有的一些特征的能力
多态性 处理基于公共特征的多个相关类的能力,可以根据不同的环境调用不同类的方法
成员变量和成员方法
如果是一个类的“有什么”属性,那么这个类就需要一个成员变量去存储相应的信息,变量名代表将要存储的属性。
如果是一个类的“做什么”动作,那么这个类就需要成员方法去实现这个动作,方法名代表要完成的动作
然后说下大家常说的“==”和“equal”的区别
这就牵涉到引用类型和基本数据类型的一个区别,==或者!=检查两个引用变量是否相等时,只能检查它们是否指向同一地址,而不是其中的内容是否相等。
java中的修饰符
修饰符是对类和类的成员进行说明或限定的符号,分为访问控制符和非访问控制符。
类的修饰符有public,abstract,final
成员变量修饰符public,private,protected,static,final
成员方法除了上述五个外还有abstract和native
访问控制符
访问控制符是一组限定类、域、或方法是否可以被程序内和程序外的代码访问或者调用的修饰符。
类的访问控制符只有一个public
域和方法的访问控制符有public、private、protected和无修饰符
pubic 任何类,任何包都可以访问
private 只能被它所定义的类所访问
protected 类本身、相同和不同包中子类以及相同包中的其他类访问
无访问控制符 包可访问,即在当前包中可使用