-
java是一门纯面向对象的编程语言(OOP)
-
面向对象是解决问题的一种思想,主要依靠对象之间的交互完成一件事情
-
面向对象和面向过程并不是一门语言,而是一种解决方法
2.1类的定义
// 创建类 class ClassName{ public field; // 字段(属性) 或者 成员变量 public method; // 行为 或者 成员方法 }
-
class为定义类的关键字,ClassName为类的名字,{}中为类的主体
-
类名用大驼峰
-
方法名和变量用小驼峰
-
成员前缀要有public
-
建议一个java文件里只有一个类
-
每一个类都会生成一个字节码文件
用类创建的其实相当于是一个模板,例如:
创建一个学生类:
class Student{ public String name; public String sex; public int age; public int tel; }
用类来实体化创建对象,就是在实例化。
创建一个学生“张三”,12岁,男,电话:2312314
public static void main(String[] args) { Student S = new Student(); S.age=12; S.name="zhangsan"; S.sex="nan"; S.tel =23123145; }
-
当成员变量没有初始化时,默认值就是对应的初始值
this引用指向当前对象(成员方法运行时调用该成员方法的对象),在成员方法中所有成员变量的 *** 作,都是通过该引用去访问
public int year; public int month; public int day; //this.调用的成员的变量 public void set(int year, int month, int day){ this.year = year; this.month = month; this.day =day; }public void print(){ System.out.println(year + "/" + month + "/" + day); } public static void main(String[] args) { test d=new test(); d.set(1,2,3); d.print(); }5. 对象的构造及初始化
5.1构造方法的特性
名字必须与类名相同,在创建对象时,由编译器自动调用,并且在整个对象的生命周期内只调用一次。
-
构造方法没有返回值,方法名称和类名是一样的
-
构造方法一般使用public修饰
-
构造方法可以重载,可以自己创建一个带参数或者不带的参数的构造方法
-
例如:
//重载 // 无参构造方法 public Date(){ this.year = 2000; this.month = 12; this.day = 16; }// 带有三个参数的构造方法 public Date(int year, int month, int day) { this.year = year; this.month = month; this.day = day; } //此时两种构造方法不同,名字相同,参数列表不同构成了重载
-
-
如果不创建构造方法,编译器会自己创建一个不带参数的构造方法
-
如果创建了构造方法,编译器就不会产生构造方法
-
如果编译器生成构造方法,那么构造方法是没有参数的
-
-
构造方法中,可以通过this调用其他构造方法来简化代码
-
例如:
public int age; public int s; public TestFib(int age,int s){ this.age=age; this.s=s; } public TestFib(){ this(12,1); }
-
构造方法的初始化:
public int age; public String name; public int s; public TestFib(){ System.out.println(age); System.out.println(name); System.out.println(s); } public static void main(String[] args) { TestFib b=new TestFib(); } //输出: //0 //null //0
-
未初始化的成员变量没有初始值,也可以创建,但是未初始化的变量创建会报错
-
未初始化的成员变量的默认值
-
数据类型 默认值 byte 0 char '\u0000' short 0 int 0 long 0L boolean flase float 0.0f double 0.0 referencce null
-
-
直接初始化
在声明成员变量时,就直接给出了初始值
public static Student{ public String name="zhangsan"; public int age=19; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)