1.类:抽象概念,表示一类事物的总称
人类:属性——名字 年龄 性别 行为——吃 穿 睡 类统称:表示一类事物所具有的共同特征与行为 对象:类的一个实例
面向对象:c++ Java 一切皆对象 方便开发,松耦合 面向过程:c 所有事情都是一个个独立的方法 ,性能较高(嵌入式软件:单片机)
如何定义一个类
class Person{
}
人类{ 若干属性… 若干方法/行为 } 注意:1.任何一个源文件有且只有一个主类(public class)并且源文件名称需要和主类保持一致
2.类的命名
类的命名和源文件的命名采用大驼峰命名法:所有单词的首字母全大写 变量的命名使用小驼峰命名法
class Person;
class ChinaPerson;
3.类的实例化
一个源文件中可以有若干个类(普通类)0——n 定义一个类只是规定了一类对象所具备的属性和行为 有了类之后,可以根据类来产生对象(类的实例化)
4.关键字new来产生对象
主方法main 存在主类之中
5.类中包含的内容
类中包含的内容:属性,方法/行为,类,接口,代码块 类中的属性——成员变量或者属性 类中的方法——成员放法或实例方法
问题1:如何通过对象来使用类中的属性
要通过引用数据类型访问属性和方法 属于**“."**操作符
问题2:关于属性默认值
基本数据类型:默认值 类中的成员变量与对象有关,当有对象产生时,才会开辟内存,分配空间
public class Test {
int a;
public static void main(String[] args) {
Test 狗剩 = new Test();
System.out.println(狗剩.a);
}
}
6.引用数据类型的默认值:null
public class Test {
int a;
public static void main(String[] args) {
Person per = new Person();
System.out.println(per.name);
}
}
7.可以在定义的时候给属性赋值
class Person{
String name = "张三";
int age;
String sex;
void eat(){};
void sleep(){};
}
public class Test {
int a;
public static void main(String[] args) {
Person per = new Person();
System.out.println(per.name);
}
}
8.类中的成员方法
class Person{
int age;
String sex;
void eat(){};
void sleep(){};
void show(){
System.out.println("My name is:"+name+",My age is:"+age);
}
}
public class Test {
int a;
public static void main(String[] args) {
Person per = new Person();
Person per1 = new Person();
per.name = "张三";
per.age = 20;
per1.name = "柳飘飘";
per1.age = 101;
per.show();
per1.show();
}
}
总结:在类中的成员变量以及成员方法与对象强相关,有对象之后才能使用!!!
2.static关键字
static{
1.修饰变量(类属性)
2.修饰方法(类方法)
3.修饰代码块(静态块)
4.修饰内部类
}
1.static修饰属性—>类属性
当一个类中的属性,该类的所有对象值都相同(eg:国籍),此时这个属性不在与具体的对象相关,而与所关联的类相关,属性使用static修饰,表示类属性,在JVM方法区存储。 方法区:存储所有静态变量和常量 static
class Person{
static String country;
}
public class Test {
int a;
public static void main(String[] args) {
Person per = new Person();
Person per1 = new Person();
per.country = "台湾";
System.out.println(per1.country);
}
}
2.static修饰的变量称为类的静态变量或类属性
直接使用类名称来访问,不推荐使用对象访问
3.Java中static关键字一定不能出现在方法中
4.常量:一旦定义后就无法修改的变量,使用final关键字修饰,一般与static搭配使用
class Person{
final static String COUNTYR = "中国";
}
public class Test {
public static void main(String[] args) {
System.out.println(Person.COUNTYR);
}
}
常量的命名规则: 所有单词全部大写!!!多个单词可以以_分隔
5.静态方法
类中使用static修饰方法-----类方法(与对象无关) 在成员方法中能否调用静态方法?Yes 类 对象 在静态方法中能否调用成员方法?No 对象 类
|