【Java基本概念:类、对象、构造函数、包】

转载: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

}

}

猜你喜欢

转载自blog.csdn.net/kevin_nan/article/details/86622684
今日推荐