Java学习第六节之J2SE面向对象
一、 面向对象与面向过程之区别与联系:
说明:C、C++、C#均是由微软出产的系列产品;而java则是sun公司基于C++设计的一个编程语言。
二、 相关基本概念
1、对象:是由特征和行为构成。特征即是对象本身的属性描述,用变量记录;行为即是对象的功能,通过方法实现。
2、类(类名首字母要大写)
(1) 类的声明:可声明属性、方法、类、静态块、构造器等。
(2) 格式: [特殊符号]类型名称;(new类();)
(3) 访问时通过( . )点来实现。
①声明静态变量:权限修饰符 static数据类型变量名;如private static intnum=100;
(在整个程序运行中,静态变量最早被加载,而且只加载一次,载入内存,永远存在)
②声明静态常量:权限修饰符 static final数据类型常量名=常量值;
如 publicstatic final double PI=3.14;
实例变量即是对象,静态变量即是在数据类型前加static。实例变量可以访问静态变量,而静态变量不可以访问实例变量。类只有一个对象。
3、构造器,即构造方法、构造函数,也是指对象的初始化方法。
Java构造器不是函数,所以它不能被继承,这是我们在写extends的时候写子类的构造器比较常见,即使子类与父类的构造器参数完全一样,我们也要写super就是因为这个原因。构造器的修饰符比较有限,仅仅只有public、private、 protected这三个使用,其他的例如任何构造器都不能使用,也就是说构造器不允许被成名成对象、同步、静态等等访问限制以外的形式访问。因为构造器不是函数,所以他是没有返回值的,但允许有return语句,return语句什么都不返回,如果你指定了返回值,虽然编译器不会报出任何错误,但是jvm会认为他是一个与构造器同名的函数罢了,也会导致一些不必要的错误。
分为传参数的构造器和不传参的构造器
① 不传参的构造器,举例:student s=new student();
②传参的构造器,举例:student s=new student(String name,int number);
使用构造器时需要记住:
1、构造器必须与类同名(如果一个源文件中有多个类,那么构造器必须与公共类同名)
2、每个类都有一个以上的构造器
3、构造器可以有0个、1个或一个以上的参数
4、构造器没有返回值
5、构造器总是伴随着new操作一起调用
A1.java构造了两个函数,一个无参的,一个有参的。
test6.java调用了A1.java中构造的两个函数。
注意:
1构建一个类的对象时候(new),一定会调用构造方法
2一个类一定有构造方法,如果不明确设置则系统会为我们提供给一个无参的构造方法,如果明确定义构造方法,则系统就不会为我们提供构造方法。
3构造方法也支持方法的重载,即一个类中可以有多个构造方法。
4构造方法中一般放一些初始化的操作
5构造方法之间可以互相调用this(必要的参数);注意该语句必须是构造方法的第一条语句。
4、面向对象的构造器(构造器也是一种实例方法),依赖于构造条件,满足一定的条件才可以实例化对象,否则不可以。
this是当前的意思,只允许用在实例对象/方法中(需要用对象调)。
this. 表示访问
this( )转发构造器,只允许卸载构造器第一行
5、静态块
类的构造器,有参数、有初始化方法,叫静态块
格式:static{ }
加载类方法:①Class.forName();(main方法声明的内容后面要加throws Exception)
②直接调用
③new对象
6、常量的声明
方法一:final String address=””;//final表示只能给所声明的常量赋一次值
方法二:final String address;
Address=””;
方法三:final static String ADDRESS=”AA”;
当调用常量方法时不加载,当调用非常量方法时可以加载。