`
19941021
  • 浏览: 5327 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
最近访客 更多访客>>
社区版块
存档分类
最新评论
  • ayaome: ...
    java
  • 19941021:     明白了!谢谢了!
    java
  • ayaome: head属于LinkList类的属性你加个static关键字, ...
    java
  • 19941021:      这是因为在主函数中调用遍历链表的方法时要传入链表头的 ...
    java
  • ayaome: public static LinkNode head=nul ...
    java
阅读更多
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;

}
分享到:
评论

相关推荐

    JAVA_API1.6文档(中文)

    java.lang.management 提供管理接口,用于监视和管理 Java 虚拟机以及 Java 虚拟机在其上运行的操作系统。 java.lang.ref 提供了引用对象类,支持在某种程度上与垃圾回收器之间的交互。 java.lang.reflect 提供类...

    Java 面经手册·小傅哥.pdf

    这是一本以面试题为入口讲解 Java 核心内容的技术书籍,书中内容极力的向你证实代码是对数学逻辑的具体实现。当你仔细阅读书籍时,会发现Java中有大量的数学知识,包括:扰动函数、负载因子、拉链寻址、开放寻址、...

    java源码包---java 源码 大量 实例

    Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行ATM...

    JAVA上百实例源码以及开源项目

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    java源码包2

    Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行...

    java源码包4

    Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行...

    java源码包3

    Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行...

    java api最新7.0

    JAVA开发人员最新版本7.0 api文档!本文档是 Java Platform Standard Edition 7 的 API !Java 1.7 API的中文帮助文档。 深圳电信培训中心 徐海蛟博士教学用api 7.0中文文档。支持全文检索,在线即时查询。 里面列...

    java开源包11

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    java开源包4

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    java开源包6

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    java开源包9

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    java开源包5

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    java开源包8

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    java开源包10

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    Java开发技术大全(500个源代码).

    HelloWorldApp.java 第一个用Java开发的应用程序。 firstApplet.java 第一个用Java开发的Applet小程序。 firstApplet.htm 用来装载Applet的网页文件 第2章 示例描述:本章介绍开发Java的基础语法知识。 ...

    java开源包1

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    java开源包3

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    Java 中文入门学习手册合集[chm版]

    第一章 Java语言的产生及其特点 第二章 Java程序开发与运行环境 第三章 Java程序设计基础 第四章 Java应用程序的基本框架 第五章 Java的类 第六章 Java图形用户接口 第七章 多线程 第八章 Java的"异常" 第九...

Global site tag (gtag.js) - Google Analytics