0807 DAY07 JAVA总结 Vimcelia

本文深入探讨了面向过程与面向对象的编程思想差异,详细讲解了类与对象的概念、封装原则、构造方法的使用及重载,以及静态变量与成员变量的区别。同时,介绍了API的作用和常见数组处理方法。

总结Day07

一、回顾:

1.面向过程及面向对象

1.面向过程开发:
是一种以过程为中心的编程思想。这些都是以什么正在发生为主要目标进行编程,不同于面向对象的是谁在受影响。
2.面向对象开发:
在实现某个功能的时候,不注重过程与步骤,只需要找到实现该功能的方法即可。

2.类的成员对象和成员方法
	public class Student {
private String name;
private int age;
public    void  eat(){
    System.out.println("正在吃KFC");
}
public void study(){
    System.out.println("正在学习java,从入门到精通!!");
}

类是对象的抽象;
对象是类的具体体现

3.简单的封装

通过private关键字修饰成员变量,通过set方法进行赋值,get方法进行获取

4.this关键字的使用
public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

this用于本类的引用

二、构造方法

	//无参构造
public 类名() {
}

  //有参构造
public 类名(参数1, 参数2) {
    this.参数 = 参数;
    this.参数 = 参数;
    
}
构造方法的注意事项:

1.构造方法不能通过类的成员来调用,构造方法是通过java的构造器来执行的,在创建对象的时候执行,只执行一次;
2.构造方法可以有参构造,也可以无参构造;
3.系统本身会默认提供一个无参构造方法,但是只要在类里自己写了有参构造或者无参构造,系统将不再提供默认的构造方法;
4.一个对象创建的时候,只会走一次构造方法,有参或者无参;
5.当私有化构造函数之后,类的外部无法创建新的对象。

public Student(String name,int age,String sex,String gradeName){
       this.name=name;
       this.age=age;
       this.sex=sex;
       this.gradeName=gradeName;
       System.out.println("走了有参构造");
   }
   public Student(){
       System.out.println("走了无参构造");
   }
构造方法的重载
public class Car{	 
	 public Car(int num1){
    tireNum=num1;
	 }
	  public Car(int num1,String colour){
    tireNum=num1;
    this.colour=colour;
	}
	 public Car(int num1,String colour,String weight){
    tireNum=num1;
    this.colour=colour;
    this.weight=weight;
 	 }
}
注意点:

1.构造方法的重载必须在同一个类里;
2.构造方法的名字必须相同(与普通方法的重载相同);
3.参数的个数和类型不同(与普通方法的重载相同);
4.与返回值没有关系,return只表示结束,构造方法没有返回值,不能加上return 某值或者加上void。

构造方法与set方法的区别

当对象创建的时候,构造方法只能对对象赋值一次,而set方法能够赋值多次;

三、静态

在数据没有进行静态之前,相同的数据每当调用就会到堆里面开辟新的内存空间,占用大量内存,同时导致后期维护相对比较麻烦;
在数据静态之后,相同的数据会存放到方法区里面的静态区间,可以减少内存的使用,但是也有一定的缺点,后面会说到

静态修饰符static:
	public class Actor {
String name;
static String country;
}

    public class Test {
public static void main(String[] args) {
	Actor.country="中国";
    Actor act=new Actor();
    act.name=“小VC”;
    System.out.println(act.name);
    System.out.println(Actor.country);

执行结果

静态的特点

1.静态区间是随着class类的加载而加载,因此会影响用户的体验度(加载速度变慢);
2.静态是优先与对象的存在,静态数据的调用不依赖于对象;
3.静态的调用方式与普通调用方法不一样,静态可以直接通过类名调用,也称为类变量(可以通过对象调用);
4.静态可以修饰属性,方法,类等等

静态的注意点

1.静态方法里面只能是静态的属性,但是不能在静态方法里面定义静态变量,这是不允许的;
2.静态方法里面只能是静态的属性的原因:静态是最先随着类进行加载的,成员的方法或者属性,一开始没有在堆里面创建内存空间进行加载, 静态使用的时候,没有加载这个变量或者方法;
3.普通方法里面可以调用静态的资源(注意与第一点结合记忆)

四、静态变量与成员变量

1.两者区别

1.静态变量称为类变量,成员变量就是对象的变量;
2.存放的地址不同:静态变量存在方法区里面的静态区间,成员变量存在堆里面
3.生命周期和创造时间不同:成员变量的生命周期随着对象的创建而开始,随着对象的销毁而结束;静态变量随着类的加载就创建 ,成员变量是当new出成员 的时候再创建
4.调用方式不同:静态变量通过类名进行调用:类名.属性
成员变量通过成员名进行调用:成员名.属性

五、API

API是一种帮助文档,是一些预先定义的函数,或指软件系统不同组成部分衔接的约定。 目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问原码,或理解内部工作机制的细节。(百度百科专业术语)
ps:
对数组的处理的工具类 Arrays

		Arrays.binarySearch(int[] num ,5)  //查找数组改元素的索引位置
		
      Arrays.equals(double[] a,double[] a2)   //比较是具体数组里的值   

     Arrays. fill(int[] a,int a)// 向数组里填充  a 值 

     Arrays.sort(moneys)// 排序

    Arrays.toString(moneys) // 字符串的格式输出 

此总结仅作为个人学习总结之用。
--------Vc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值