①封装性
面向对象的程序设计语言都是把数据和处理数据的操作结合在一起而构成一个整体,这就是对象。对象的使用者只能看到对象的外部特性,比如,其主要功能、如何调用等,而看不到内部如何实现这些功能。作为面向对象的程序设计语言,程序中的数据就是变量,程序对数据作处理则称为方法。变量和方法都被封装在对象中。所以,一个对象就是变量和方法的集合,其中变量表明这个对象的状态,方法实现这个对象所具有的行为,而且在程序中将这些变量和方法进行封装,使它们成为一个模块,再用一个名字来代表这个模块。这样,以后的更高层的程序设计中,就不必关心某个对象的行为到底是怎样实现的。可见,将对象封装就是为了使模块尽可能少地展现其内部细节,而只是以一种界面来面向外部。
对象的封装性减少了程序各部分之间的依赖,使程序的复杂性降低,而可靠性提高,并便于修改。
②继承性
面向对象的程序设计中,对象是从类创建出来的,这一点即将在下面的解答中说明。在
Java中,许多类组成层次化结构。一个类的上一层称为父类,而下一层称为子类。一个类可以继承其父类的变量和方法,而且这种继承具有传递性。就是说,一个类可以继承其上一层和其再上一层的变量和方法。这种可传递的继承性使得下层多个相似的对象可以共享上层类的数据和程序代码,而子类又可以在继承父类的基础上增添新的内容和功能。这种代码共享和代码可增添的继承特性使Java既灵活方便又提高效率。
③通信相关性
一个对象往往涉及多个行为。体现在程序设计中,一个对象往往包含多个方法,每一个方法对应一个行为。所以,一个对象完成某个动作也就是程序执行相应的方法。于是,就涉及对象之间通过交互来实现复杂的行为,这叫对象之间的通信。
利用通信可以实现一个对象往另一个对象的信息传递。信息传递涉及三个要素;一是信息接收对象;二是接收对象中用哪个方法完成指定的动作;三是此方法需要的参数。由于信息传递的要素非常清晰,所以用在编程中也将很方便。
这种通信相关性使许多复杂功能得以实现,却又能避免编程的错综复杂。
面向对象是门很抽象的编程思想,任何程序的面向对象思想都是一样的,要彻底搞清楚它究竟是什么,不是靠别人说是不通的一切皆对象!就是java面向对象的全部了
就是可以把任何东西都看做对象
比如
书
我们可以把书看做是对象,以抽象出java 类
Class Book//这是类
{
private String bookName//书名 它是书的一个属性
private float pries//价格 也是书的属性,另外还可以有很多属性 还可以有方法
public void setBookName(String bookName)
{
this.bookName=bookName//给书名设置值的方法
}
}
上面的代码就是编写了 一个书的类 把书抽象化了
而实例就是
某个类的具体话
比如上面书的类
Book book=new Book()//这就创建了个实例
我门可以给它的属性设值
book.setBookName("java编程思想")
总的来说 实例就 类的具体化,类是某些有相同点事物的统括,比如书,所有的书都有书名,
而实例就是 具体到某本书,比如 《java 编程思想》 是书的实例 new 就是创建一个实例
编程思想需要更多的经验,和自己的感悟,
慢慢来吧
JAVA面向对象是一种编程思想,代码即对象JAVA面向对象最重要的特征就是:封装,继承,多态。
封装是为了方便调用类库里面已经写好的函数,继承是方便对已有函数的功能进行直接调用和扩展。按照原则,java中已经写好的类库会被打包成jar包,不允许调用者更改里面的代码。
但是你可以通过其中的抽象类或者接口,根据具体的业务逻辑进行功能的扩展。
多态的作用是,可以实现对继承对象的统一调度,是面向对象的精髓所在。
另外,java还有语言简单,面向对象,和平台无关性。之所以java可以跨平台,在于他可以通过java虚拟机JVM,将java代码解释成该平台能理解的语言。