java_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > java

java

 2013/11/19 12:22:37  19941021  程序员俱乐部  我要评论(0)
  • 摘要:[size=medium][b][/b][color=black][/color]1.类与对象的定义,及关系:对象:具体的个体,客观的存在。类:抽象的,主观的,一群对象共同点描述的简称。关系:类是对象的抽象和归纳,对象是类的一个例(或者说类是对象的模板)。如你眼前的这座山,这是具体的对象,而说山,这就是抽象的,因为它具体指代那座山你不清楚。//定义一个学生类publicclassStudent{//定义类的属性publicStringname;publiccharsex
  • 标签:Java
[size=medium]
class="java" name="code">
[b][/b][color=black][/color]
1.类与对象的定义,及关系:
对象:具体的个体,客观的存在。
类:抽象的,主观的,一群对象共同点描述的简称。
关系:类是对象的抽象和归纳,对象是类的一个
例(或者说类是对象的模板)。
如你眼前的这座山,这是具体的对象,而说山,这就是抽象的,因为它具体指代那座山你不清楚。


//定义一个学生类
public class Student {
//定义类的属性
  public String name;
  public char sex;
  public int age;

//定义类的方法
public void study(){
System.out.println("学生名字是:"+name+"   性别是:"+sex+"   年龄是:"+age+" 正在学习");
}

public void test(){
System.out.println("学生名字是:"+name+"   性别是:"+se+"   年龄是:"+age+" 正在考试");
}
}

2.类的组成:
程序中的类由两个部分组成:1)属性  2)方法。
程序中的类就是根据生活中的对象或者类[/size][/size]进行的一种定义。
如描述一个学生,可以从他的姓名,性别,年龄,分,(这些是学生的属性);学习,玩,(这些是方法)。

可以这样理解:类的属性是静态特征,类的方法是动态特征。
属性和方法的调用:


在同一文件夹下的文件,在定义主类,创建对象后可以访问。
//定义一个主类
public class Manage {
    //定义主函数
    public static void main(String args[]){
     
      //创建一个学生对象,连接不同文件
      Student stu=new Student();
      //给学生的属性赋值
      stu.name="张佳";
      stu.sex='女';
      stu.age=18;
      //使用学生的对象调用方法
      stu.study();
      stu.test();
3.类的基本格式:
访问修饰符(private、默认的、protected、public)
public class 类名 {
访问修饰符 数据类型 属性名;

访问修饰符 返回值数据类型 方法名(数据类型 参数名,...){
//方法体
}
}
4.实例化对象和调用方法的格:
类名 对象名 = new 类名();
对象名.方法名(参数值,...);

5.构造方法:
类的组成部分是属性和方法(方法分为两类:普通方法和构造方法)

访问修饰符 构造方法名(数据类型 参数名,...){
//方法体
   }
类中未定义构造方法时,java会默认提供一个构造方法(不带任何参数的构造方法)。
如果类中定义了构造方法,则默认的构造方法会被覆盖掉,不能使用默认的了,只能使用你自己定义的构造方法.

作用:
1.给属性赋值
2.实例化对象

区别:
1.构造方法的是不需要定义返回值数据类型,普通方法必须要定义返回值数据类型。
2.构造方法的名字必须要和类名完全一致,普通方法的名字可以任意定义(不能是关键字)。
3.构造方法时用来是实例化对象,普通方法用来表示对象的行为.
         4. static,final, abstract,native不能修饰构造方法。

6.方法重载
实现方法重载的条件:
1).方法名必须要完全一致;
2).方法所带的参数个数、参数类型、参数顺序至少要有一个是不同的。
           3) 方法的重载的意义
           可以提高对已有代码的利用率。(提高程序的抽象性和封装性)


// 定义一个学生类
public class Student {
每个类都默认有一个无参数的构造方法(构造器构造函数
//无参构造器方法
public Student(){
}
//构造方法的重载
public Student(String s){
name = s;
}
public Student(int t){
num = t;
}

public Student(String s,int t){
name = s;
num = t;
}

/** 学生的名字*/
private String name;

/** 学生的学号*/
private int num;

  
7.方法的调用方式:
    1)无参方法的调用
    如:在同一个类中,类Student的方法a()调用类Student的方法b()
     public void a() {
        b();   //调用b()
     }
     在不同类中类Student的方法a()调用类Teacher的方法b(),先创建类对象,然后再调用。
     public void a() {
        Teacher t=new  Teacher();
        t.b();  调用b()
     }
     2)有参方法的调用
     有参方法的语法;
   [修饰符1 修饰符2 …] 返回值类型 方法名{
      程序代码;
   return 返回值;
   }
    例如:


public class Dog{
String color=“黑色”;
  public String bark(String sound)
     sound=“叫”;
     return sound;
  }
  public String getColor(){
         return  color;
}
创建主类调用
  public class Manage{
     public static void main(String args[]){
       Dog d=new Dog();
       System.out,println(d.bark(“ ”));
     }
  }
8.this关键字:
作用:
1.区分属性和参数,加了this表示属性,没有加的则表示参数;
2.调用构造方法、属性和普通方法。
例如:
String  name=“NetJava”;
Student st2=new Student(name);
/**
*Student类构造器中this指st2所代表的的对象
*构造时传入名字参数,初始化name属性值
*/
   public Student(String name){
        前者表示属性,后者是变量
       this.name=name;
   }

this表示的是当前调用方法的对象。stu在调用方法,那么方法中的this就表示stu;
9.公有,私有变量的调用方式:
若是调用私有变量,则可以在类中定义get()方法,即返回值就是你想得到的那个变量。Java中一般把变量(属性)定义成私有的,把方法定义成公有的。public定义的属性或方法在子类中可以调用,而private定义的属性或方法在子类中不可以调用。
私有方法可以在类内部调用。


public class student{

//属性:共同的特征(名字,学号,成绩...)
//设置学生的名字
Public void setName(String n){
     name=n;
}
public String getName(){
   return name;
}

/**
*学生学习的方法
*@param hour:要学习的时间长度
*@param hour: 要学习的科目名称
*/
Public void study(int hour,String k){
Km=k
Scro+=hour/3;
If(scro>5){
   toSleep(hour/3);
}
    }
Public void play(int hour){
Scro-=hour;
}
//私有方法可以内部调用
private void toSleep(int t){
System.out.println(name+“去休息小时是”+t);
}
//输出某个学生对象信息的方法
public void showInfo(){
   System.out.println(name+“学分是”+scro+“所学科目是”+km);
}
public String km=“未知科目”;
//学生名字属性:私有,在类内部调用
private String nsme;
private int sco=0;

}
发表评论
用户名: 匿名