# 1.类的定义格式:
修饰符 class 类名{
定义成员变量;
定义成员方法;
}
举例:
public class Student{
String name;
int age;
public void study(){
System.out.println(name);
}
}
## 2.对象
对象就是一类事物中的一个个体;
创建对象的格式:
类名 对象名 = new 类名(参数列表);
举例:
Student s = new Student();
访问成员的格式:
对象名.成员变量名;
对象名.成员方法;
举例:
s.name = "冰冰";
s.study();
## 3.封装
把类中不需要对外暴露的代码隐藏起来;
怎么封装?
使用关键字private,private是私有的意思,被private修饰的成员变量和成员方法不能在其它类中直接访问;
被private修饰的成员变量,添加getXxx(),setXxx(xxx),这两个方法必须使用public修饰,目的为了在其它类中能够调用;
## 4.this关键字
表示当前对象的意思;
哪个对象正在调用this所在的方法,this就是表示哪个对象;
在setXxx()方法中标记那个变量是成员变量的;
5.构造方法
作用:
1.创建对象;
2.初始化成员变量;
格式:
修饰符 类名(参数列表){
方法体;
}
如果在类中没有定义构造方法,编译器会类提供一个默认的无参的构造方法;
只要在类中定义了构造方法,不管定义了几个,也不管定义的构造方法是什么样的,编译器都不再提供默认的方法.
public Student(){
}
public Student(String name,int age){
this.name = name;
this.age = age;
}
## 6.匿名对象
创建一个对象后,没有给对象取名字,这个对象就是匿名对象;
new Student(); 没有给对象取名字,这个对象就是匿名的;
Student s = new Student();s就是对象名,指向了new的对象,这个对象是有名字的,所以不是匿名的;
通过匿名对象访问成员:
new Student().name = "赵四";
new Student().study();
通常情况下,是通过匿名对象调用成员方法;
在什么时候使用匿名对象:
当在类中使用对象,只使用一次时,就可以创建一个匿名对象来使用;
匿名对象可以作为方法的返回值,也可以作为方法的实际参数;
?
public static Student getStudent(){
Student s = new Student();
return s;
}
public static Student getStudent(){
return new Student();
}
public static void printStudent(Student s){
System.out.println(s.getName()+", "+s.getAge());
}
// 调用printStudent方法
printStudent(new Student());
--------------------------------------------
# 1.继承
第一类可以继承第二个类;第一类就拥有了第二种类中非私有的成员;
子类:第一个类;
父类:第二个类;
public class Fu{
int a = 10;
int b = 20;
public void show(){
....
}
public void sleep(){
....
}
}
?
?
?
作用:
可以让两个类之间产生子父类关系;
继承的格式:
public class 子类名 extends 父类名{
子类中的代码;
}
举例:
public class Fu{
int a = 10;
int b = 20;
public void show(){
....
}
public void sleep(){
....
}
}
// 让Zi类继承Fu类
public class Zi extends Fu{
}
这样Zi中就拥有了父类中的非私有的成员;
?
?
继承的好处:
1.提高代码的重复使用率;
?
?
继承的特点:
1.java中的继承只能是单继承:子类只能有一个父类,但是一个父类可以有多个子类;
多继承的格式:
public class A extends B,C{
子类A中的代码;
}
2.java中可以多层继承:
public class C{
int a = 10;
...
}
public class B extends C{
...
}
public class A extends B{
...
}
3.子类中可以定义自己特有的成员: 可以扩展子类的功能;
4.子类可以重写父类中的成员: 可以改变从父类中继承过来的功能;
?
?
?
?
?
?
?
?