java总结1
一、类和对象的关系解析
类,即现实中的类型
对象,即现实中的实体
类拥有所有符合该类对象的特征,对象是通过类实例化而来
二、如何创建类,如何创建对象,如何调用属性和方法
1.创建类
类在创建前,要先总结获得该类的属性和方法,具体格式是:
修饰符 class 类名{
}
注意:类名取名应符合规范,应见名知意,不能带有非法字符,不能带有关键字。
2.创建对象
对象由类的构造方法,实例化而来
例如:有一个类Student,那么对象的实例过程:
public class Student{
String name;
public static void main(String [] args){
Student stu = new Student();//此处即创建了一个对象
}
}
3.调用属性和方法
属性和方法有两种
有static 修饰的方法和属性为静态属性、静态方法,或者类属性、类方法
没有static 修饰的则为实例属性、实例方法
实例属性和方法不能引用静态属性和方法,但是反过来是可以的。
类和实例都可以通过"."符号来调用属性和方法
类名.属性名(或方法名)
例如:String zhangsan = Student.name;
注意:通过类和实例访问类变量时,其实访问的是在计算机中同一个内存地址上的变量。
三、 构造方法与一般方法的区别
1.共同点
构造方法和一般方法得方法名都必须合乎取名规则
2.不同点
1)构造方法必须与类名一致,一般方法没有这个限制
2)构造方法不能有返回值,一般方法必须有返回值
3)如果类中没有定义构造方法,会自动生成一个默认的无参数、无方法体的构造方法
四、方法重载与重写的区别
1.方法重载:
方法重载是指,在同一个类中,在保证方法名相同的情况下,方法的参数类型或者参数顺序不一样
2.方法重写:
方法重写是指,在继承的过程中,子类重写与父类同名的方法,
3.区别:
一个是在同一个类中,一个是在继承关系的子类中重写父类方法
五、解析面向对象的三大特征
1.封装
封装是指,用修饰符对于类中的数据或方法进行封装,只提供对应的方法来访问,可以提高安全性
2.继承
继承是指,一个类A通过关键字extends继承另一个类B,A为子类、基类,B为父类、超类
例如:public class B{
String name;
}
public class A extends B{}
此时,类A就继承了类B的所有属性与方法,可通过关键字super调用方法。
这里必须要讲一下继承过程中,代码的运行顺序。
如果在A中实例化一个对象,代码的运行顺序总是从最顶层开始,一层一层沿继承关系向下运行。
因此,如果子类重写了父类的方法,那么就会覆盖父类的方法,展现的就是子类方法的特征
3.多态
多态,多种状态
多态分为静态对态和动态多态
静态多态:在同一个类中,对于重载方法的使用,有多种状态
动态多态:在继承过程中,子类重写父类方法,此时实例子类对象和父类对象会有不同的状态
JAVA中的类型转换有两种:自动类型转换、强制类型转换
自动类型转换是指子类可以自动转换为父类,例如:
例如:public class B{
String name;
void c(){
System.out.println(“类B的方法”);
}
}
public class A extends B{
void c(){
System.out.println(“类B的方法”);
}
public static void main(String [] args){
B a = new B();
B a1 = new A();
A a2 = new A();
}
}
在上面的例子中,a 和 a1 的声明类型都是B,因此B就是它们在编译过程中的马甲,a3 的声明类型都是A,因此A就是它们在编译过程中的马甲
如果a1调用了B中的方法那么编译过程会出错。
总结:一个对象在new 的过程中是什么类型,那么本质就是什么类型。
可以自动向上转型,但是向下转型必须通过强制类型转型。
如 A a3 =(A) a1;