小情调

喜欢交朋友哦QQ707012377

导航

Java学习_0710 基本语法

7月10日:知识点_1.常量:是不会改变的值的变量,声明之前加final比如:

                                                        final float f=3.1415926f;

                                                        命名规范一般大写,通常声明为static

                                       2.’\r’的长度为1位,因为它是转义字符。

                   需要背的    1.八种基本、原始数据类型:

                                                 整数:byte、short、int、long

                                                 浮点数:float、double

                                                 字符类型:char

                                                 布尔类型:boolean

                                               2.强类型:数据的类型有唯一性,语法规定严格,比如Java,.net

                                                 弱类型:语法规定不严格,比如:Html、js

                                                 Java中动态加载机制(是一个类):在程序运行过程中加入一个类

                                                 API:应用程序编程接口(从哪个包下找到类来使用)

                                                 JRE:Java运行时的环境

                                                 RDE:集成开发环境(也就是Java的开发工具)

                                                缓存:

                   预习:main:1.继承

1.1:java只支持单继承,通过关键字extends完成继承

1.2:是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系

1.3:继承中:子类完全拥有(非私有)父类的全部方法和属性

                            同时,也可以定义自己的方法和属性

                            也可以重写父类的方法

1.4:例如:class A extends B     类A继承类B

1.5:在子类中调用父类的方法时候用super.(方法)。

            super()总是引用直接父类的构造方法

1.6:例子:结果输出”asdad”

 

1.7:注意:子类中不能直接访问父类中的私有成员

用到super()与否,都是先调用超类构造函数,再调用子类构造函数

如果没用到super(),将调用超类系统默认的或没有参数的构造函数

 

                                               2.多态:

2.1:定义:是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。

2.2:多态的两种方式:重载(overloading)和重写(Overriding)

         重载:是java实现面向对象的多态性机制的一种方式。

同一个类中多个方法有相同的名字,不同的参数列表,这种情况称为方法重载。

当重载方法被调用时,编译器根据参数的类型和数量来确定实际调用哪个重载方法的版本

重载的实现:

参数顺序不同

参数类型不同

参数个数不同

注意:返回值不同不能实现重载!

重写:在子类中定义某方法与其父类有相同的名称和参数,且方法的返回值类型与抛出异常的类型各自与父类的一致,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了

在子类中调用父类被重写的方法使用super关键词。

                                               3.static

3.1:静态方法(static):类名.方法名。如:Animal.eat();

3.2:静态块:在类被调用到内存后就开始执行的它和创建对象或者main方法都没有关系,区分是构造方法和静态块执行

比如:

static {

                   System.out.println("static block");

         }

3.3:静态属性:所有此类实例共享此静态属性,也就是说在类加载时,只分配一块存储空间,所有此类的对象都可以操控此块存储空间,当然对于final则另当别论了。

                                   类名.属性名调用

                                               4.this

4.1: this可以看成是一个变量。每一个对象都会自动保存一个变量this,它指向这个对象自己。

4.2:使用this在构造函数中调用本类其它重载的构造函数:

       this()或者this(参数列表)

4.3:方法中调用属性: this.实例变量名

                                               5.包

5.1:包在较大的范围内实现了OOP的封装机制,它把一组类和接口封装在一个包之内,这为管理大量的类和接口提供了方便,也有利于这些类和接口的安全

5.2:包名一般小写,放在文件开头:如com.公司名.项目

                  

 

预习需要背的:

访问修饰符

包外

包外子类

包内

类内

public

protected

friendly(默认)

private

 

 

                                               6.类的访问修饰符

                                                        6.1:默认,没有修饰符:只能被包内的其他类访问

                                                                 public:可以被类外的任何类访问

                                                                 final:不能被其他类继承

                                                                 abstract:抽象类:声明方法的存在而不去实现它的类

                                                                                     抽象方法(只有方法的声明,没有具体的实现)

                                                                                     注意:能包含非抽象的方法和变量

                                                                                                不能被实例化

                                                                                                必须在子类中给出具体实现

                                                                                                不能定义抽象构造函数

                                                                                                不能定义抽象静态方法

所有抽象类的子类必须实现抽象函数,或者自己也声明成抽象类

                                                        6.2抽象类:一个类的一个或多个方法为抽象方法时

该类为一个抽象类的子类,并且没有实现所有抽象方法时。

实现一个接口,并且没有实现所有抽象方法时

定义一个抽象类类型的变量,指向一个其子类的实例。

例如:

 

 

                                               7.接口:关键字:interface接口就是需要由其它类实现的行为模板

                                                                 类一次只能继承一个类但可以实现多个接口

                                                                 不能有任何具体的方法实现,默认为public abstract

                                                                 也可定义常量:默认为:public static final                                                            

                                                                

                                                                 接口的实现:用implements关键字

                                                                                             注意:@多个接口中方法相同时:

                                                                                                         同名不同参,方法重载

                                                                                                         完全相同,实现其中一个

                                                                                                         只是返回类型不同,没有办法解决

                                                                                                           @定义完后必须在某个类中对这个接口的方法进行具体化,重新定义接口的所有方法,这时的方法不能是抽象的

@extends关键字实现父接口,一个接口可以有多个父接口,子接口将继承所有父接口的所有属性和方法

     @属性必须是public static final修饰的(系统默认)   

            @方法系统默认为public abstract的,没有方法体

     @接口可以没有任何接口体,但大括号不能省略

@实现的方法的访问控制符必须显式地使用public修饰

@一个类声明实现某个接口后必须实现该接口的全部方法

 

                                               8.抽象类和接口的区别:抽象类:@不能创建对象

@如果一个类中一个方法为抽象方法,则这个类必须为abstract抽象类

@继承抽象类的类在类中必须实现抽象类中的抽象方法.

@抽象类中可以有抽象方法,也可有非抽象方法。抽象方法不能为private.

@间接继承抽象类的类可以不给出抽象方法的定义。

                                                                                                      接口: 接口中的所有数据均为static和

final,即静态常量。尽管可以不用

这两个关键字修饰 ,但必须给常

量赋初值。

@方法均为public,在实现接口类中,实现方法必须为public关键字。

@使用public来修饰接口,则接口必须与文件名相同

                                               抽象类与接口都用于抽象,但是抽象类可以有自己的部分实现,而接

口则完全是一个标识(同时有多重继承的功能)

 

数据类型

封封装类

数据类型

封封装类

boolean

Boolean

float

Float

byte

Byte

int

Integer

char

Character

long

Long

double

Double

short

Short

9.封装类:

 

 

 

 

 

                                              

                                              

 

 

 

 

 

 

10.内部类:在类中定义的类。目的是为了解决Java中存在的没有多继承这个问题。

                          建立一个内部类时,其对象就拥有了与外部类对象之间的一种关系,这是通过一个特殊的this reference形成的,使得内部类对象可以随意的访问外部类中所有的成员

                          使用方式:直接在类中定义类或者在方法中定义类

                          类中定义类:

 

方法中定义类:

 

这里面定义了一个名为IContent的接口

posted on 2012-07-15 22:06  小情调  阅读(362)  评论(2编辑  收藏  举报