初识类
知识点:
类声明的规范:[修饰符] class 类名{
}
类声明的规范:名词或名词性短语,采用驼峰式的命名规则,每个单词的首字符大写
在类中是这些对象所共有的特性和共有行为
对象所共有的属性,在面向对象中被称为属性
对象所共有的行为,在面向对象中被称为方法
也就是说,在类里面是这些都对象所共有的属性和共有的方法
声明的类,实际上是声明了一种类型,也就是所谓的引用类型
类型的四个作用:
1.声明变量
2.声明方法的返回类型
3.声明方法的参数
4.强制类型转换
注意:
计算机中的对象是根据现实中的对象一步一步的抽象而来的,现实中的学生对象没有main()方法。所以:Student类中也是不能有main()方法的。换句话说,Student类中不能声明main()方法
应该把main()方法声明到另一个类中
此外,在main方法中,如果没有实例(也就是对象),就不能调用实例属性/实例方法
public static void main(String args[]){
study("CoreJava"); //错误用法
}
Student类
public class Student{
/*
在类中声明的没有static修饰的属性和方法,被称为实例属性、实例方法。
在实例方法中可以直接调用实例属性
为何要称为实例属性/实例方法呢?
1.每个实例(也就是对象)都有这样的属性/方法
2.要在main()方法中调用实例属性/实例方法,必须先要创建实例,然后才能调用实例属性/实例方法
换句话说,在main方法中,如果没有实例(也就是对象),就不能调用实例属性、实例方法
*/
/*
在类中声明属性:
在类中声明属性的规范:[修饰符] 属性类型 属性名 [=缺省值]
属性名称的声明规范:名词或名词性短语,第一个单词的首字符小写,其余单词的首字符大写
*/
String name;
int age;
/*
在类中声明方法的规范:[修饰符] 返回类型 方法名称([参数列表]){
}
方法名称的声明规范:动词或动词性短语,第一个单词的首字符小写,其余单词的首字符大写
参数列表的规范:参数类型 参数名称,参数类型2 参数名称2,...就
*/
/**
* 学习指定的课程
* @param className 要学习的课程名称
*/
public void study(String className) {
//在实例方法中可以调用实例属性
System.out.println(name+"在学习"+className+"课程,年龄是:"+age);
}
}
主类
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
/*
声明好一个类仅仅是创建好了一个模板或一张设计图,要想让这个类发挥作用,必须要创建这个类的对象。
然后通过对象来调用类中定义好的属性和方法.
创建对象的规范:类型 变量名称=new 构造方法();
stu就是一引用类型的变量,引用类型的变量又被称为引用(引用的实质是一个内存地址)
Student就是我们声明的引用类型,也就是我们声明好的类
Student() 被称为构造方法; 构造方法的作用:和new 一起使用,用来创建对象的
创建好一个对象,并且把对象赋值给一个引用(把对象的首地址赋值给引用),这样我们就可以通过引用来调用对象上面定义好的属性和方法
调用方式: 引用.属性/引用.方法()
引用和对象的关系就是现实中遥控器和电视之间的关系
*/
Student stu=new Student();
stu.name="张三";
stu.age=23;
stu.study("CoreJava");
//声明一个类,可以使用该类创建N多个对象
Student stu1=new Student();
stu.name="李四";
stu.age=24;
stu.study("CoreJava");
}
}