键词:面对对象、类、、构造方法、this、static、内部类
一、面对对象的概念:把解决的问题安装一定规则划分为多个独立的对象,然后通过调用对象的方法来解决问题。其特点可概括为封装性、继承性、多态性。
1、封装性:面对对象的核心,将对象的属性和行为封装起来,不需要让外界知道具体实现细节,这就是封装思想。
2、继承性:主要描述的是类与类之间的关系,通过继承,可以在无需重新编写原有类的情况下,对原有类的功能进行扩展。
3、多态性:是在程序中允许出现重名现象,它指在一个类中定义的属性和方法被其他类继承后,他们可以具有不同的数据类型或表现出不同的行为,这使得同一个属性和方法在不同的类中具有不同的语义。
二、类与对象
1、类是对象的抽象,它用于描述一组对象的共同特征和行为。类中可以定义成员变量和成员方法,其中成员变量用于描述对象的特征,也称作属性,成员方法用于描述对象的行为,可简称方法。
————————————————
1 class Person{
2 //定义int 类型的变量
3 int age;
4 //定义speak()方法
5 void speak (){
6 System.out.println(“***”)
7 }
8 } //Person 类名,age 是成员变量,speak()成员方法
2、对象的创建与使用:
创建:类名 对象名= new 类名();//实例对象
使用: 对象引用.对象成员;
实例化对象时,Java虚拟机会自动为成员变量进行初始化,针对不同类型的成员变量,赋予不同的初始值。
成员变量类初始值成员变量类初始值
byte0double0.0D
short0char空字符,‘\u0000’
int0booleanfalse
long0L引用数据类型null
float0.0F
在Java中,null是一种特殊的常量,当一个变量的值为null时,则表示该变量不指向任何一个对象,变成垃圾被回收。
3、所谓的类的封装是指定义一个类时,将类中的属性私有化,即利用private 关键字来修饰,私有属性只能在它所在类中被访问。为了能让外界访问私有属性,需要提供一些使用public 修饰的公用方法,其中包括用于获得属性值得getXXX()方法和设置属性值得setXXX()方法。
1 class Student{
2 private String name; //将name属性私有化
3 private int age; //将age属性私有化
4 //下面是公有的getXXX()和setXXX()方法
5 public String getName (){
6 return name;
7 }
8 public void setName(String stuName){
9 name = stuName ;
10 }
11 public int getAge (){
12 return age ;
13 }
14 public void setAge(int stuAge){
15 //下面是对传入的参数进行检查
16 if(stuAge<=0){
17 System.out.println("年龄不合法");
18 }else {
19 age = stuAge ; //对属性赋值
20 }
21 }
22 public void introduce(){
23 System.out.println("大家好,我叫"+name+",我今年"+age+"岁!");
24 }
25 }
26 public class Example01{
27 public static void main(String[] args){
28 Student stu = new Student();
29 stu.setAge(-30);
30 stu.setName("李芳");
31 stu.introduce();
32 }
33 }
三、构造方法
1、构造方法:构造方法是类中一个特殊成员,它会在实例化对象时被自动调用。
2、构造方法的特点:
①方法名与类名相同;
②在方法名前面没有返回值类型的声明;
③在方法中不能使用return语句返回一个值;
1 class Person{
2 //构造方法
3 public Person(){
4 //无参构造方法
5 }
6 public Person(int age){
7 age = a; //有参构造方法
8 }
9 public void speak(){
10 System.out.println(“I am” +age+”years old !");
11 }
12 }
13 public class Example{
14 public static void main (String [] args){
15 Person p = new Person(20); //实例化Person对象
16 p.speak();
17 }
18 }
3、构造方法的重载:与普通方法一样,方法名相同,只需要参数类型或参数个数不同即可。
一般情况下,构造方法通常会使用public来修饰。
四、类的继承
1、类的继承是指在一个现有类的基础上去构建一个新的类,构建出来的新类被称作子类,现有类被称作父类,子类会自动拥有父类所有可继承的属性和方法,使用extends关键字。
class A{}
class B extends A{}
在Java中继承的体现:
①Java允许单继承。不直接支持多继承,将多继承进行其他方式的体现。
②单继承:一个子类只能有一个父类。
class A{}
class B{}
class C extends A,B{} //C类不可以同时继承A类和B类