JAVA学习

上一篇 / 下一篇  2014-05-28 15:11:16 / 个人分类:JAVA学习

1.     编译:将hello.java源程序--javac---》字节码文件.class--java-->结果文件

类 是Java存在的最小单元

2.     如果类是Public的,类名和文件名必须一致。一个Java源文件中可以包含多个类,但是文件名称必须与public修饰的类名一致。

3.     整型byte shortint常用long

Long比较特别long a=1234567890123456789L

4.     浮点floatdouble常用

double d=12.1234d后面的d可用可无

5.     字符char

6.     字符串string

7.     类对象 属性 方法

Teacher t = new Teacher();

声明Teacher类的引用变量t

使用引用变量引用对象

成员变量指类里面、方法外面的变量,会初始化;

方法内部变量:需要赋初值。

8.     Stack:存放临时定义变量

9.     HeapNew一个对象存放在堆里。

JVM划分为垃圾回收区(New定义的对象)和永久区(编译后的Class

内存分析:

JVM垃圾回收机制:内存中不再被引用的对象,会被JVM回收。

1.     访问控制修改符

类的属性和方法被如下修饰符修饰

 

本类

同一个包

子类

所有类

private

ü  

 

 

 

default

ü  

ü  

 

 

protected

ü  

ü  

ü  

 

public

ü  

ü  

ü  

ü  

 

2.     封装,也可以叫隐藏

private String name;

提供Private属性PublicGetSet方法,使用外部类通过调用方法访问

Public String getName(){

      return name;

}

PublicvoidsetName(String name){

      This.name= name;

}

Student s=new Student();

s.setName(“pp”);

3.     This 关键字

区分属性还是局部变量

4.     构造器/构造方法

不仅用来构造对象(new student()),还用来初始化对象的属性值;

是一种特殊的方法;

没有返回值,名称与类名一致;

l 无参构造器

Public Student(){

      Name=”yang”;

      Id=8899;

      Gender=”male”;

      Weight=63.5;

}                    

Student s=new Student();

l 有参构造器

public Student(String name,int id,String gender,double weight){

this.name=name;

this.id=id;

this.gender=gender;

this.weight=weight;

}

Student s2 = new Student("",6677,"Female",69.99);

 

5.     重载构造器

ü 第一种方法

public Student(String name){

             this.name=name;

}

public Student(String name,int id){

             this.name=name;

             this.id=id;

}

public Student(String name,int id,String gender){

             this.name=name;

             this.id=id;

             this.gender=gender;

}

ü This方法进行构造方法重载

public Student(String name){

             this(name,3333);//必须在构造方法的第一行,否则编译不通过

}

public Student(String name,int id){

             this(name,id,"FF");

}

public Student(String name,int id,String gender){

             this.name=name;

             this.id=id;

             this.gender=gender;

}

6.     基本数据类型-数组

char[] arr=new char[10];

简单数组赋值char[] arr={'a','b','c','d','e','f','i','j','k','L'};

增强性for循环for(数组类型 变量 : 数组名)

for(char c:arr){

             System.out.printf(c+" ");

                    //System.out.println(c);

             }

等同于for(int i=0;i<arr.length;i++)

7.     引用类型-数组初始化

1.    Student[] stu2={new Student("zhangj",1103),new Student("CL",1104)};

2.    Student[] stu1=new Student[2];

stu1[0]=new Student("qiyan",1001);

stu1[1]=new Student("laoyou",1102,"Male");

8.     Static

测试static(类变量、类方法),静态方法只能使用静态变量;对象可以使用静态变量和非静态变量

使用静态变量和方法时,可以用类直接调用

Student.ss="cjx";

Student.printSs();

9.     继承

A.    提高代码复用性;抽象:抽出像的部分;

B.     重写override:在子类中,对父类方法定义一样,但实现内容不一样。在外部调用方法时,为重写后的方法

C.     所有的类都继承object类;

D.    Super 当前类直接父类对象的引用

E.     Final

final修饰的类不能被继承

final修饰的方法不能被重载

final修饰的变量是常量,不能重新赋值

10.  多态:多种形态

继承,方法重写,父类引用指向子类对象;

11.  抽象abstract

抽象方法必须包含于抽象类,抽象类可以包含非抽象方法;

抽象方法没有方法体;

抽象类不能被实例化,不能New;

子类必须实现父类抽象方法;

12.  Interface

接口中只有常量和抽象方法

接口可以多继承


TAG:

 

评分:0

我来说两句

Open Toolbar