转载:http://baijiahao.baidu.com/s?id=1578928366322907878&wfr=spider&for=pc
1类介绍
类的概念:
1)类定义了一种抽象数据类型,而抽象数据类型可以理解为:将不同类型的数据的集合组成一个整体用来描述一种新的事物。
2)类具体包括:类不但定义了抽象数据类型的组成(成员变量),同时还定义了可以对该类型实施的操作(方法)
类的定义语法:
类的定义包括”成员变量”的定义和”方法”的定义。
类的成员变量的定义可以使用如下语法:
class 类名{
成员变量类型 变量名称;
… … …
}
类中的方法定义:
class 类名{
修饰词 返回值类型 方法名称([参数列表]){
方法体… … …
}
… … …
}
代码实例:
2 对象介绍
对象创建的语法:
类定义完成后,可以使用new关键字创建对象。创建对象的过程通常被称为实例化。
New运算符的语法:
new 类名();
代码实例:
package com.example.javaclass;
public class SimpleClass {
public String name ;
public int number;
public static void main(String[] args) {
//创建对象
SimpleClass simpleClass = new SimpleClass();
}
}
对象的初始化:
使用new创建对象时,会调用构造方法初始化对象
代码实例:
package com.example.javaclass;
public class Animal {
public String name;
public int age;
public Animal(String name,int age){//类的构造函数
this.name = name;
this.age = age;
}
public static void main(String[] args) {
Animal animal= new Animal("hailiang",3);//创建对象时,自动调用类的构造函数,进行类的初始化
//因为已经初始化,因此,访问类的成员变量时,已经得到初值
System.out.println(animal.name);
System.out.println(animal.age);
}
}
3 构造函数介绍
构造方法的定义有如下两点规则:
1)构造方法的名称必须于类名相同。
2)构造方法没有返回值,但也不能写void。
构造函数的定义语法:
[访问修饰符] 类名(){
//构造方法体
}
构造函数的用途:
常用于实现对成员变量的初始化
this关键字:
1)this关键字用在方法中,用于指向调用该方法的当前对象;即:哪个对象调用方法,this指的就是哪个对象。
2)严格来讲在方法中需要通过this关键字指明当前对象。尤其是在在构造方法中,用来初始化成员变量的参数一般和成员变量去相同的名字,这样会有利于代码的可读性,此处必须通过this关键字来区分成员变量和参数(不能省略this)
代码实例:
package com.example.javaclass;
public class Animal {
public String name;
public int age;
public Animal(String name,int age){//类的构造函数
this.name = name; //this关键字是指当前对象,加上this关键字也是为了区分当前对象的成员变量name和参数中的name
this.age = age;
}
public static void main(String[] args) {
Animal animal= new Animal("hailiang",3);
System.out.println(animal.name);
System.out.println(animal.age);
}
}
默认的构造函数:
1)任何一个类都必须含有构造方法;
2)任何源程序中没有定义,编译器在编译时将为其添加一个无参的空构造方法(称之为“默认的构造方法”)。
3)但是,如果定义了构造方法后,Java编译器将不再添加默认的构造方法。
代码实例(例子中没有显示的写构造函数,但是代码默认给添加了一个构造函数):
package com.example.javaclass;
public class NoGouZao {
public String name;
public void printInfo(){
System.out.println("name");
}
public static void main(String[] args) {
NoGouZao temp = new NoGouZao();
temp.printInfo();
}
}
//补充:虽然这个类没有显示的写构造函数,但是代码默认增加了一个构造函数即:
NoGouZao(){
}
4 包介绍
package语句产生的原因:
包的概念来解决命名冲突的问题。在定义一个类时,除了定义类的名称一般还要指定一个包名,定义包名的基本语法为:package 包名
package定义的规范:
1)包名可以有层次结构,在一个包中可以包含另外一个包。可以按照如下方式写包语句:
package 包名1.包名2…包名n;
2)包名的定义,在各个公司还要定义统一的规范。以避免各个公司之间再发生冲突
代码实例:
package com.example.javaclass; //这里就是定义包
public class NoGouZao {
public String name;
public void printInfo(){
System.out.println("name");
}
public static void main(String[] args) {
NoGouZao temp = new NoGouZao();
temp.printInfo();
}
}
import语句产生的原因:
访问一个类时需要使用该类的全称,但这样的书写过于繁琐,可以通过import语句对类的全称进行声明,声明后,就可以直接用类名来访问了。
import实例:p
ackage com.example.shuzu;
import java.util.Arrays; //通过import引入Arrays对象
public class ShuzuSort {
public static void main(String[] args) {
int[] aa = {1,5,3,2};
Arrays.sort(aa); //这里需要用Arrays,是通过import引入的,所以ShuzuSort类中引用时,就不需要再写包名了。
for(int temp:aa){
System.out.println(temp);
}
//输出结构为:1,2,3,5
int[] bb = {8,5,3,2};
Arrays.sort(bb, 1, 4);
for(int temp:bb){
System.out.println(temp);
}
//输出结构为:8,2,3,5
}
}