文章目录

  • 面向对象
  • 1.定义类:
  • 2.创建对象并访问和操作
  • 3.类的属性的默认值
  • 4.类的初始化--构造方法
  • 5.this
  • 6.static关键字的使用
  • 7.类的成员和成员运行顺序
  • 8.访问修饰符


面向对象

面向过程:提出问题–>分解问题–>一 一解决问题
面向对象:OOP(Object Orientedt Programming):主要思想是把构成问题的各个事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙一个事物在整个解决问题的步骤中的行为。面向对象程序设计中的概念主要包括:对象、类、数据抽象、继承、动态绑定、数据封装、多态性、消息传递。通过这些概念面向对象的思想得到了具体的体现。
分门别类的思想
类:(class),类别
在Java中,使用class关键字定义类
属性:类的固有特征
行为与动作:函数function(方法 method)
对象:(object),一个类中的具体案例。(实际存在的)

1.定义类:

在Java中,定义类,使用class关键字

访问权限修饰符 class 类名称{
	//固有属性,类的固有特征
	//访问修饰符 类型 属性名称=属性值; 
}

示例:定义一个圆类

public class Circle {
 public double radius;
  public Circle(){
      radius=1;
   }
  public Circle(double newRadius){
      radius=newRadius;
   }
  public double getArea(){
      return radius*radius*Math.PI;
   }

  public double getPerimeter(){
      return 2*radius*Math.PI;
   }

  public void setRadius(double newRadius){
      radius=newRadius;
   }
}

2.创建对象并访问和操作

定义类,根据类来创建对象,通过类的构造方法来创建对象,对象名称.属性/方法

类型 对象名称=new 构造函数();
对象名称.属性   //访问对象属性
对象名称.属性=值 //设置对象的属性的值
对象名称.方法  //调用对象的方法

示例:

class TestCircle {
    public static void main(String[] args) {
        Circle c = new Circle();
        System.out.println(c.getArea());
        System.out.println(c.getPerimeter());
    }
}

3.类的属性的默认值

class Person{
//定义属性
	public long id;
	public String name;
	public int age;
	public boolean gender;
	public double weight;
	public float height;
	public byte aa;
	public char c;
	public short s;
}

在Java中,如果定义类的使用,存在属性,但是没有给属性赋值,Java会给定默认值。重写toString()方法,该方法在打印对象时,会自动调用。

java MULTIPOLYGON 和POLYGON空间集合 java polygon类_定义类


八种基本数据类型默认值

数据类型

默认值

整型

0

浮点型

0.0

char

空字符

boolean

false

对象

null

String

null

4.类的初始化–构造方法

在Java类中,如果自己没有定义构造函数,系统(JVM)会自动生成一个无参构造,方便我们构建一个属性都为默认值的对象。
如果已经构造了有参构造方法,则系统不会生成无参构造,需自己写无参构造

//无参构造,系统默认生成
访问修饰符 类名(){
}
//有参构造
访问修饰符 类名(String name,int age){
}

java MULTIPOLYGON 和POLYGON空间集合 java polygon类_访问修饰符_02

5.this

在Java中,存在this关键字,默认会指向当前对象。

java MULTIPOLYGON 和POLYGON空间集合 java polygon类_访问修饰符_03


作用:初始化属性。

6.static关键字的使用

可以修饰属性,方法、(内部类)类、语法块、导包
static修饰的代码,会提前加载到内存中,并且只有一份,属于该类。因此,静态方法中,无法直接调用非静态函数、属性。
static修饰的属性,方法不属于对象,属于该类,直接使用类名称.属性(方法)来调用。静态属性,直接使用类名称调用
static静态代码块:提前加载到内存中,只执行一次,并且只有一份。

{
	//构造代码块
}
static{
//静态代码块
}

7.类的成员和成员运行顺序

属性
//方法
构造方法
静态属性
//静态方法
构造代码块
静态代码块(只会执行一次)
类的成员运行顺序:
属性最先运行
static修饰的属性和静态代码块最先运行(这两者之间看顺序)
之后才是对象属性和构造代码块(这两者之间看顺序)
最后是构造函数。

8.访问修饰符

修饰符

作用

public

任何地方都可以正常访问该修饰符修饰的属性和方法

protected

同包、同类、子类

default

同包、同类

private

只能是在当前类

注意:class类,只能被public和默认这两种访问修饰符修饰。