免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1824 | 回复: 1
打印 上一主题 下一主题

在JAVA私塾学习时整理的一套学习笔记(第三章) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-10-11 15:30 |只看该作者 |倒序浏览
第三章Java类和对象
一.        面向对象初步
二.        面向对象三大特征:
1.        封装:把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位;尽可能隐藏对象的内部结构。

        同一个类中        同一个包中        不同包中的子类对象        任何场合
Private        Yes                       
Default        Yes        Yes               
Protected        Yes        Yes        Yes       
Public        Yes        Yes        Yes        Yes

2.        继承:如果一个对象A继承自另一个对象B,就把这个A成为B的子类对象,而B成为A的父类对象。继承可是子对象具有父对象的各种属性和方法,而不需要再次编写相同的代码。同时,可以重新定义某些属性,并重写某些方法,即覆盖父对象的原有属性和方法,使其获得与父对象不同的功能。
3.        多态:同一种行为的多种不同表达,或者同一种行为的多种不同实现就叫做多态。
三.        JAVA类的基本构成
包:包是类接口或其他类的集合,包主要用来将类组织起来成为组,从而对类进行管理
(1)        允许将包含类代码的文件组织起来,易于查找和使用适当的类
(2)        包不止是包含类和接口,还能包含其他包。形成层次的包空间。
(3)        有助于避免命名冲突。
JDK中常用的包:java.lang---包含一些java语言的核心类,包含java语言设计基础的类。Object类是所有类的基类。
java.awt---包含构成抽象窗口工具集(abstract window toolkits)的多个类,这些类被用来构建和管理应用程序的图形用户界面(GUI)。
java.swing---定义java版的图形用户界面(GUI)解决方案,提供了很多完备的组建,可以对复杂的桌面系统构建。
java.net---包含执行于与网络相关的操作的类。
java.io---提供多种输入输出功能的类。
java.util---包含一些实用工具类,如定义系统特性,使用与日期日历相关的方法。还有重要的集合框架。
每个源文件只有一个包的声明,而且包名应该全部小写。
编译和生成包
带包编译: javac –d destpath Test.java
                   javac –d c:\test\ Test.java
带包运行:java p1.Test
java类搜索方式:import语句引入p1包内的Test类,假定环境变量CLASSPATH的值为,“.;  c:jdk\lib; d:\ex”,java运行环境将依次到下述可能的位置寻找并载入该字节码文件 Test.java
.\p1\Test.java
C:jdk6\lib\p1\Test.java
D:\ex\p1\Test.class

构造方法:创建对象并初始化成员变量。创建对象时会自动调用类的构造方法。
定义规则:必须与该类具有相同的名字,并且没有方法的返回类型(包括没有void)。一般构造方法都用public类型来说明,这样才能在程序的任意位置创建类的实例对象。
说明:每个类至少有一个构造方法。如果不写构造方法,java编程语言将提供一个默认的,该构造方法没有参数,而且方法体为空。如果一个类中已经定义了构造方法,则系统不再提供默认的构造方法。
析构方法:析构方法finalize的功能是:当对象被从内存删除时,该成员方法将会被自动调用。

带参数的方法被调用:先分配形参空间,然后将实参复制给形参。

参数可变的方法(JDK5.0开始):
public class Test{
        public static int sum(int……n){
        int total = 0;
        for(int i=0; i<n.length; i++){
         total += n[i];
}
Return total;
}
Public static void main(String [] args){
System.out.println(Test.sun(10,100,1000));
}
}

四.        如何使用一个java类
this关键字:
(1)        点去成员;
(2)        区分同名变量;
“this.变量”调用的是当前属性的变量值,直接使用变量名称调用的是相对距离最近的变量值。
(3)        作为方法名来初始化对象;
相当于调用本类的其他构造方法,他必须作为构造方法的第一句。
五.        引用类型
public class TempTest {
                private void test1(A a){
    a.age = 20;
    System.out.println("test1方法中的age="+a.age);
}
public static void main(String[] args) {
TempTest t = new TempTest();
        A a = new A();
        a.age = 10;
        t.test1(a);
        System.out.println("main方法中的age="+a.age);
}
}
class A{
public int age = 0;
}
运行结果:
test1方法中的age=20
main方法中的age=20








六.        变量
在方法外定义的变量被自动初始化,局部变量必须在使用前“手工”初始化。
七.        包装类
基本数据类型        对应的包装类
boolean        Boolean
byte        Byte
short        Short
int        Integer
long        Long
char        Character
float        Float
double        Double

                        Integer t = new Integer(i);          包装,装箱
                        Int j = t.intValue();    //j=500      拆箱
八.        类型转换
强制类型转换:
强制类型转换只能用在原本就是某个类型,但是被表示成了另外一种类型的时候,可以把它强制转换回来。强制转换类型并不能在任意的类型间惊醒转换。

变量可自动被升级为一个较长的形式。
byte—--short--—char--—int--—long--—float----double

自动包装和解包
自动包装:把基础数据类型自动封装并转换成对应的包装类的对象。
自动解包:把包装类的对象自动解包并转换成对应的基础数据类型。
Integer a1=5;   //自动包装
Int a2 = new Integer(5);    //自动解包

强制类型转换:在一个类型前面加(),来强制转换
                long l = 9L;
                int i = (int)l;
自动类型转换:
              int i = 5;
        String str = ""+i;
向上造型:把范围小的造型为范围大的类型,
            int i = 2;
        long l = i;

九.        什么是实例变量?什么是局部变量?什么是类变量?什么是final变量?
实例变量:类中定义的变量,即类成员变量,如果没有初始化,会有默认值;
局部变量:在方法中定义的变量,必须初始化;
类变量:用static可修饰的属性;
final变量: final属性只允许赋值一次,且只能通过构造方法赋值;定义后也就是一        个常量。

定义规则和使用规则
实例变量:它不需要static关键字来声明,只要对象被当作引用,实例变量就将存在;
局部变量:在方法内任意定义变量即为局部变量;
类变量:必须用static修饰;
final变量:不可以再修改的。

论坛徽章:
0
2 [报告]
发表于 2011-10-13 23:10 |只看该作者
不错 学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP