Java基础第三章--面向对象编程

来源:互联网 发布:软件系统售后服务承诺 编辑:程序博客网 时间:2024/05/21 16:56

  前边我们讲过了Java概述和Java语言的基础语法,今天我们来说一说Java这门语言的编程方式--面向对象编程。

  首先详细解释一下JAVA语言中的几个名词。

 1. 类:类是对一类事务的描述,是抽象的概念。对象:实际存在的该类对象每个个体,也称实例。

 2. 对象在内存中的解析。对象的引用在栈区,并且引用变量附有一个地址值,指向堆区的new出来的真正的对象。堆中存放new出来的东西和成员变量,栈中存放局部变量和引用变量。成员变量是指类的属性变量,定义在类中,方法外;存放于堆中;可以不显示的赋予初始化值局部变量定义在方法内或者代码块中;存放于栈中;局部变量声明时必须显示的赋予初始化值。若创建了一个类的多个对象,这些对象每一个都有一套这个类的副本,互不相干,除非是静态的内容。对象的生命周期:new时被调用,离开了{}那么这个对象就会作废,单不一定立即被回收。4

  3.Java类方法的使用。权限修饰符+返回值类型+方法名称+(参数列表){}。同一个类中,一个方法可以调用另一个方法。Java语句只能写在方法内

  4.同一个类中,非静态的方法可以访问非静态的方法和属性,但是不可以静态资源访问非静态的资源,因为静态资源先与非静态资源加载到内存中。

  不同类中方法和属性的调用访问,必须通过新建类的对象才可以访问这个类中定义的成员。

  5.方法的重载:同一个类中,方法名相同,参数列表不同(参数顺序,种类,个数)的方法互称为方法的重载。(与方法的返回值类型无关)

  6.JDK新特性:可变参数的形参。数据类型 ... 参数名。可变参数的方法素组参数的方法是一致的,所以与其他同名方法构成重载,调用这个形参时也是按照数组的方式调用,下标也是从0开始。可变形参必须写在所有新参的最后,且一个参数列表只能有一个可变形参

  7.方法的参数值传递机制:方法的参数是局部变量,形参是指声明在方法参数列表中,实参是指实际传入形参的值。Java中的变量传递机制:值传递,基本数据类型传递的是值,引用数据类型传递的是变量的指针。

  8.Java三大特性之封装性:封装是值将Java类中的属性私有化,是的不能通过对象直接访问对象的类属性,二是通过定义一些共有的方法来访问这些属性,这样一来就可以在访问的之前做一些验证和其他的操作,更安全和高效

  这就不得不说四种权限修饰符了,public 权限最高,可修饰类,属性,方法;同一个程序中都可以访问;默认缺省修饰符,就是权限修饰符为空,可修饰类,属性,方法;只有同一个包下的类可以访问;protected受保护的,可修饰属性,方法;只有同一个包中的类和子类可以访问;private私有的,可修饰属性,方法;只有当前类可以访问。

  9.构造器的使用。构造器有两个作用,创建对象和给创建的对象的属性进行赋值。创建构造器:权限修饰符+类名(){}。若无显示的声明一个构造器,系统会默认一个无参的构造器。但是若是显示的声明了带参的构造器,默认的无参构造器就不存在了,若想使用无参的构造器,必须再显示的声明无参的构造器。类的各个构造器之间构成重载。

  10.对象的属性的赋值过程:在类中声明时默认类型->显示的赋值—>创建对象时构造器赋值->调用对象的方法赋值。

  11.this关键字的使用:this在方法中使用,代表调用这个方法的当前对象;this在构造器内部使用,代表构造器正在创建的这个对象。既然this已经可以代表当前对象,那么我们就可以利用this来调用当前对象的属性,方法,构造器。this应用场景1:当我们在方法内,遇到形参和类属性重名时。必须用this.属性名区别开形参,如set和get方法。当然不重名也可以加在属性或者方法前强调一下。this应用场景2:this还可以用于在构造方法内调用当前类的重载的构造方法

  12import关键字:

   首先我们介绍一下JavaBean这种Java语言中的可重用性组件。JavaBean是指一些Java类,这些类必须是公共的,必须有一个无参的构造器,拥有属性和get/set方法。

  import显示导入指定包下的类或者接口。写在包的声明和源文件之间。若导入的类是java.lang包下的,如String,Math,System,会默认声明导入了。 

  import若是导入某个包,只会导入这个包下的类和接口,不会导入这个包的子包下的类和接口

  import static 表示导入指定类的属性和方法