[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;
}