java零基础自学教程(四)对象与类(上)

游戏代码世界2018-11-08 14:15:47

一、面向对象编程

java是面向对象的编程语言(Object-Oriented Programming,OOP),与面向过程编程的语言相比,它编程思维接近于人的思考习惯。

●java中的对象

在面向对象中,每个对象都是一个独立的单位,就像现实世界中的对象一样。

现实世界中的对象(如:人,狗,手机等等物体)有自己的状态和行为。比如说猫,它的的状态有:猫名、猫龄、颜色,行为有:睡觉,吃饭,喵喵喵,抓老鼠。

软件对象和现实对象很相似,也有状态和行为。软件对象的状态就是属性(通过变量来表达),行为通过方法来表达。

在软件开发中,方法操作对象内部状态的改变,对象的相互调用也是通过方法来完成。

●java中的类

一个类描述对象是什么,但是与对象是分开的。类可以描述为对象的模板,描述或定义,对象从类中产生。

每个类都有一个名称,每个类都用于定义属性和行为。

下面通过一个简单的类来理解java中类的定义:

public class Cat{

String name;

int age;

String color; // 属性 有 名字 年龄 颜色

void sleeping(){ } // 行为有 睡觉 吃饭 猫叫

void eating(){ }

void barking(){ }

}

二、方法

在java中,方法定义行为.一个方法就是一个组合在一起执行操作的语句的集合.

你可以定义自己的方法来执行所需的任务.方法可以被多次调用.

当一个方法运行时,代码会跳转到方法定义的位置,执行内部的代码,然后返回到下一行.

class MyJavaClass{

static void sayHello(){

System.out.println("Hello Ping"); } // 定义一个方法

public static void main(Strin[] args){

sayHello(); } // 调用sayHello方法

} // 输出"Hello Ping"

我们也可以创建包含一个或多个参数(形参)的方法,多个参数之间用逗号隔开.

class MyJavaClass{

static void sayHello(String name){

System.out.println("Hello "+name); }

public static void main(String[] args){

sayHello("Ziwu");

sayHello("Ping"); }

} // "Ziwu"和"Ping"被传递给形参name

三、方法返回类型

举例说明:

static int sum(int val1,int val2){

return val1+val2;}

方法名称sum前面定义了返回类型是int,它的参数也是int型的.

class MyJavaClass{

static int sum(int val1,int val2){

return val1+val2; }

public static void main(String[] args){ // 主方法使用了void关键字,意味着 main方法不会返回任何值. 并且main方法以一个字符串数组作为参数

int x=sum(3,6); // 3和6传到sum方法中进行相加,再返回整型数据9,放到x变量中

System.out.println(x); }

}

☆当方法返回一个值的时候,我们可以将其赋值给一个变量

☆如果不需要从方法中返回任何值,请使用关键字void

四、创建类和对象

public class Animal{

void barking(){

System.out.println("Meow-Meow"); }

} //在Animal类中声明了一个方法 barking

为了使用类和它的方法,我们需要声明这个类的对象(将类实例化)

对象是根据类创建的.在java中,使用关键字new来创建一个新的对象

class Animal{

public static void main(String[] args){

Animal cat=new Animal();

cat.barking; } // (.)点符号用于访问对象的属性和方法

}

在上面的例子中,cat是类Animal的对象,因此cat可以使用类Animal中的barking()方法.

五、类属性

一个类有属性和方法.属性基本上是一个类中的变量.

public class Dog{

String name;

int age;

String color; // name age color是Dog的属性

void barking(){

System.out.println("Woof-Woof"); } // barking()是Dog的行为(方法)

}


class Dog{

public static void main(String[] args){

Dog d1=new Dog();

Dog d2=new Dog();

d1.color="white";

d2.barking(); }

}

可以创建多个对象,使用点符号来访问他们的属性和方法

六、访问修饰符

public static void main(String[] args)

public是一个访问修饰符,它被用来设置访问级别.在java中,可以使用访问修饰符来保护对类、变量、方法的访问。

java支持4种不同的访问权限:

●default(缺省,包访问性):在同一包内可见,不使用任何修饰符.使用对象:类,接口,变量,方法

●private:在同一类中可见(类访问性).使用对象:变量,方法

●public:对所有类可见.使用对象:类,接口,变量,方法

●protected:对同一包内的类和所有子类可见.使用对象:变量,方法

protected和private修饰符不能修饰类(外部类)