面向对象只是其中一种编程思想,还有很多其他的编程思想:面向过程、面向切面、面向服务编程...

面向过程的思维方式:注重步骤、过程,面向过程强调的是功能行为; 面向对象的思维方式:关注的是“对象”。面向对象,将功能封装进对象,强调具备了功能的对象。面向对象更加强调运用人类在日常的思维

逻辑中采用的思想方法与原则,如抽象、分类、继承、聚合、多态等。 

类(class)、对象(object也称为实例instance)

对象:一个一个的具体事物

当很多个对象它们有共同的特性的时候,我们就可以抽象出一个类别,用一个Java类来表示。

完成需求时:

  先去找具有所需功能的对象来用;     如果该对象不存在,那么创建一个具有所需功能的对象;     这样简化开发并提高复用。

 java类及类的成员:java中用类class来描述事物。 类与类之间的关系:关联、继承、聚集、组合

属性:对应类中的成员变量,Field = 属性 = 成员变量;行为:对应类中的成员方法,Method = 成员方法 = 函数。

类与对象是的关系

类是对象的抽象的概念,类是体现了对象的共同的特性。类是创建对象的模板,设计图。对象是类的具体。

一、类的设计

类的成员的设计,类的成员包括:

1、属性;2、代码块;3、构造器;4、方法;5、内部类

* 类的成员的顺序:
 * 1、属性:包括静态的类变量和非静态的实例变量
 * 2、代码块:包括静态代码块和非静态代码块
 *         非静态代码块又称为构造块
 * 3、构造器:包括无参构造和有参构造
 * 4、方法:包括静态方法和非静态方法
 * 5、内部类

 

二、类的声明
  语法格式:
  【修饰符】 class 类名{

  }
    注意:
    (1)类名:命名规则和命名规范(见名知意,每一个单词首字母大写)
    (2)建议,就算这个类不是public,我们也与“源文件名”一样

类对象的内存解析

 new出来一个变量(实体),首地址赋给a1,通过栈空间a1引用变量

   JavaSE| 面向对象-类的五大成员

1. 类的成员之一:属性

1、声明属性的语法格式: 【修饰符】 数据类型 属性名; 属性也称为成员变量。

2、声明属性的位置:必须在类中,其他成员(方法、构造器等)的外面
    类 {
    【修饰符】 数据类型1 属性名1;
    【修饰符】 数据类型2 属性名2;
    【修饰符】 数据类型3 属性名3;
    ....
    } 

3、属性如何赋值?

(1)属性有默认值

基本数据类型:
  byte,short,int,long:0
  float,double:0.0
  char:\u0000
  boolean:false
引用数据类型:(类、数组、接口)  null
 
(2)属性的赋值

  在其他类中:  对象.属性名 = 值;

4、属性的特点

  1)属性有默认值;   2)每一个对象的属性是独立的

变量的三要素:数据类型、变量名、变量值

变量的三要素:(1)数据类型(2)变量名(3)变量值

对象的创建:

  类名(数据类型_引用数据类型) 对象名 = new 类名(); 如 Student stu = new Student( ); 

属性在类里边声明,对象创建之后,要用对象来调用属性。  stu.name;   

如果创建了一个类的多个对象,对于类中定义的属性,每个对象都拥有各自的一套副本,且互不干扰。

  1)匿名对象
  2)有名对象

类名 对象名 = new 类名( );     数据类型 变量名 = new 类名();

说明:类是一种数据类型,引用数据类型。
对象名也是变量名,是引用数据类型的变量,new 类名()是一个值,是一个对象。

引用数据类型的变量、元素,它应该赋值为一个“对象” 

回忆:变量的声明格式   数据类型 变量名;
  变量的赋值: 变量名 = 值;

注意类创建的数组与它的对象的区别:

Teacher[ ] arr = new Teacher[ 5 ]  数组;    Teacher tea = new Teacher( )  对象;

 

元素类型是引用数据类型的数组称为对象数组。因为元素中存储的是对象。

arr[ i ] 

System.out.println(new Circle()); //new Circle()匿名对象  -->>  Circle@15db9742
        
        Circle c1 = new Circle();  //有名对象,它的名字就是c,c是对象名
        c1.circle = 1.2;
        
        String name = "kris";//String也是类名,name是对象名,"张三"是一个字符串的对象
        if(name.equals("kris")){
            
        }
        
        //创建了一个java.util.Scanner的对象
        //java.util.Scanner也是一种类,也是数据类型
        java.util.Scanner input = new java.util.Scanner(System.in);
        //input是对象名
        int num = input.nextInt();
        
        int[] arr = new int[5];//创建了一个数组对象,数组的元素相当于数组的成员变量,属性
        //int[]    -->>数组类型 <<-->>引用数据类型  -->>默认为null
        //int[][] -->>int类型为基本数据类型  -->>默认为0
JavaSE| 面向对象-类的五大成员
class TestCircle{
    public static void main(String[] args){
        
        Circle c1 = new Circle(); //创建了一个圆对象
        
        c1.radius = 2.1; //为属性赋值;
        
        System.out.println(c1.radius);
        System.out.println(c1.getArea());
        System.out.println(c1.getLength());   
    }
}

/*
1、声明一个类
2、用类来创建具体的对象
*/
class Circle{
    double radius;
    
    double getArea(){
        return Math.PI * radius * radius;
    }
    double getLength(){
        return 2 * Math.PI * radius;
    }

}
View Code

相关文章: