我的java学习日记(6)

Java学习第六节J2SE面向对象

一、           面向对象与面向过程之区别与联系:

 我的java学习日记(6)_第1张图片

说明:CC++C#均是由微软出产的系列产品;而java则是sun公司基于C++设计的一个编程语言。

二、           相关基本概念

1、对象:是由特征和行为构成。特征即是对象本身的属性描述,用变量记录;行为即是对象的功能,通过方法实现。

2、类(类名首字母要大写)

(1)    类的声明:可声明属性、方法、类、静态块、构造器等。

(2)    格式: [特殊符号]类型名称;(new();)

(3)    访问时通过( . )点来实现。

我的java学习日记(6)_第2张图片(用类名可以访问的变量是静态变量)

①声明静态变量:权限修饰符 static数据类型变量名;如private static intnum=100;

(在整个程序运行中,静态变量最早被加载,而且只加载一次,载入内存,永远存在)

②声明静态常量:权限修饰符 static final数据类常量名=常量值;

publicstatic final double PI=3.14

实例变量即是对象,静态变量即是在数据类型前加static。实例变量可以访问静态变量,而静态变量不可以访问实例变量。类只有一个对象。

3、构造器,即构造方法、构造函数,也是指对象的初始化方法。

Java构造器不是函数,所以它不能被继承,这是我们在写extends的时候写子类的构造器比较常见,即使子类与父类的构造器参数完全一样,我们也要写super就是因为这个原因。构造器的修饰符比较有限,仅仅只有publicprivate 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构造了两个函数,一个无参的,一个有参的。

我的java学习日记(6)_第3张图片

test6.java调用了A1.java中构造的两个函数。

 我的java学习日记(6)_第4张图片

注意:

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”;

当调用常量方法时不加载,当调用非常量方法时可以加载。

你可能感兴趣的:(java)