java面向对象-类

最早的程序开发使用结构,程序设计语言,随着时间的慢慢流逝,软件的规模逐渐扩大,使用结构化语言也会出现各种弊端,导致无休止拖延开发周期,产品的质量也不尽人意。这一切都体现了结构化语言不再适合当前的软件开发。现在程序设计者们将另一种开发思想引入程序中,就是面向对象开发思想。
对Java语言来说,一切皆是对象。把现实世界中的对象抽象地体现在编程世界中,一个对象代表了某个具体的操作。一个个对象最终组成了完整的程序设计,这些对象可以是独立存在的,也可以是从别的对象继承过来的。对象之间通过相互作用传递信息,实现程序开发。
Java作一种面向对象语言可以支持这几个概念:多态,继承,封装,抽象,类,对象,实例,方法,重载,然后我们现在说类
类本是一个模板,描述类的行为和状态,软件对象也有状态和行为。软件对象的状态就是属性,行为通过方法体现,在软件开发中,方法操作对象内部状态的改变,对象的相互调用也是通过方法来完成。
类可以看成创建Java对象的模板
public class afada {
public class Dog{
String breed;
int age;
String color;
void barking(){
}

	  void hungry(){
	  }
	 
	  void sleeping(){
	  }
	}

}
这是一个定义,定义一个类。一个类包含了三个变量它们分别是,局部变量,成员变量,类变量
局部变量的类型:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
成员变量的类型: 成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
类变量的类型:类变量也声明在类中,方法体之外,但必须声明为static类型。
一个类可以有多个方法,在上面栗子中:barking()、hungry()和sleeping()都是Dog类的方法。
每个类都有构造方法,显式类定义构造方法,Java编译器将会为该类提供一个默认的构造方法,在创建一个对象的时候,至少要调用一个构造方法,构造方法的名称必须与类同名,一个类有个构造方法,下面嘛就来个构造方法的栗子,
public class kaoshiceshi {
public class libg{
public libg(){
}

	    public libg(String name){
	        // 这个构造器仅有一个参数:name
	    }
}

下面根据一个对象的类创建在Java中,使用关键字new来创建一个新对象,创建对象要以下三个步骤:声明一个对象,包括对象的名称和类型,使用new关键字来创建一个对象。使用new创建对象时会调用构造方法初始化对象。
下面是一个创建对象的栗子
public class kaoshiceshi {
public kaoshiceshi(String name){
//这个构造器仅有一个参数:name
System.out.println("小明: " + name );
}
public static void main(String[] args){
// 下面的语句将创建一个Puppy对象
@SuppressWarnings(“unused”)
kaoshiceshi myPuppy = new kaoshiceshi( “今天星期几” );
}

}

(结果图)

最后我们说一下什么是源文件声明的规则,源文件是当一个源文件中定义多个类,并且还有import语句和package语句注意下面这些规则(为什么我也不知道要为什么)
一个源文件中只能有一个public类和一个源文件可以有多个非public类,源文件的名称应该和public类的类名保持一致,如果一个类定义在某个包中,那package语句应该在源文件的首行,那要是源文件包含import语句,那么应放在package语句和类定义之间。要是没有package语句,那import语句应在源文件中最前面,除了上面提到的几种类型,Java还有一些比较特殊的类比如有内部类、匿名类。这两个类。
Java包主要用来和接口进行分类,当开发Java程序时可能编写成百上千的类,因此很有必要对类和接口进行分类。
在Java中,如果给出一个完整的限定名,包括包名、类名,那么Java编译器就可以很容易地定位到源代码或者类。Import语句就是用来提供一个合理的路径,使得编译器可以找到某个类。命令行将会命令编译器载入java_installation/java/io路径下的所有类
import java.io.*;

接下来我们说个栗子
public class kaoshiceshi {
String name;
int age;
String designation;
double salary;
// Employee 类的构造器
public kaoshiceshi(String name){
this.name = name;
}
// 设置age的值
public void empAge(int empAge){
age = empAge;
}
/* 设置designation的值*/
public void empDesignation(String empDesig){
designation = empDesig;
}
/* 设置salary的值*/
public void empSalary(double empSalary){
salary = empSalary;
}
/* 打印信息 /
public void printEmployee(){
System.out.println(“名字:”+ name );
System.out.println(“年龄:” + age );
System.out.println(“职位:” + designation );
System.out.println(“薪水:” + salary);
}
}
import java.io.
;
public class EmployeeTest{

public static void main(String[] args){
/* 使用构造器创建两个对象 */
kaoshiceshi empOne = new kaoshiceshi(“RUNOOB1”);
kaoshiceshi empTwo = new kaoshiceshi(“RUNOOB2”);

  // 调用这两个对象的成员方法
  empOne.empAge(26);
  empOne.empDesignation("低级程序员");
  empOne.empSalary(1000-'$');
  empOne.printEmployee();

  empTwo.empAge(21);
  empTwo.empDesignation("工程师");
  empTwo.empSalary(500-'$');
  empTwo.printEmployee();

}
}
程序都是从main方法开始执行。为了能运行这个程序,包含main方法并创建了一个实例对象。给出EmployeeTest类,该类实例化2个 Employee 类的实例,并调用了方法设置变量的值。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值