无声specialweek

从零开始学Java-Day06

数组的复制、扩容、缩容

package cn.tedu.review;

import java.util.Arrays;

public class TestArray {
    public static void main(String[] args) {
        int[] from = {1,2,3,4,5};
        int[] to = Arrays.copyOf(from, 5);
        System.out.println(Arrays.toString(to));
        int[] to2 = Arrays.copyOf(from, 10);
        System.out.println(Arrays.toString(to2));
        int[] to3 = Arrays.copyOf(from,3);
        System.out.println(Arrays.toString(to3));
        int[] to4 = Arrays.copyOfRange(from, 2,5);//左闭右开
        System.out.println(Arrays.toString(to4));
    }
}

面向对象

定义:自己动手做叫面向过程,直接调用别人的成品叫面向对象

package cn.tedu.oop;
//本类用于初步学习面向对象
//表示一类手机
/*
一个java文件中可以创建多个class,如果class被public修饰,则次类唯一
公共类必须与文件名一致,公共类就是文件名
 */
public class TestCreatClass {
    public static void main(String[] args) {
        new Phone();
        Phone p = new Phone();//p保存对象的地址
        System.out.println(p);
        p.color = "black";
        p.call();
        System.out.println(p.brand);
        System.out.println(p.color);
        System.out.println(p.price);
        System.out.println(p.size);
        Phone p2 = new Phone();
        p2.message();
        p2.price = 1651321.21;
        System.out.println(p2.color);
        System.out.println(p2.price);
    }
}
//1.通过class关键字描述手机这类事物
class Phone{
    //特征
    /*
    通过成员变量描述手机这一类事物的特征
     */
    String brand;
    String color;
    double price;
    double size;
    //行为
    /*
    通过方法描述手机这一类事物的功能
     */
    public void call(){
        System.out.println("打电话");
    }
    public void video(){
        System.out.println("视频");
    }
    public void message(){
        System.out.println("发短信");
    }
    public void listening(){
        System.out.println("听歌");
    }
}


三大基本特征

封装:
  1. 把一些属性和行为进行抽象,封装成一个“类”组件
  2. 隐藏具体的实现细节,提高程序的安全性
  3. 方法的封装,用private修饰方法,该方法只能在本类使用,如果想执行此私有方法的功能,调用公共方法(公共方法中调用私有方法)
  4. 属性的封装,private进行修饰,类外无法调用,想要赋值或者调用,需要用setxxx()和getxxx().
继承:

​ 子类承载父类的属性和方法,也可以自己去定义自己的属性和方法

多态:
父类或接口定义的引用变量指向子类或具体实现类的实例对象

抽象:抽取共性,忽略个性

创建对象时,内存经历了什么?

  1. 在栈内存中开辟一块空间,存放引用类型变量p,并把p压入
  2. 在推内存中开辟一块空间,存放phone对象
  3. 完成对象的初始化,并赋予默认值
  4. 给初始化完毕的对象赋予唯一的地址
  5. 把地址交给引用类型p来保存
package cn.tedu.oop;
//本类用于面向对象的巩固练习
public class TestCar {
    public static void main(String[] args) {
        Car car = new Car();
        car.brand = "specialweek";
        car.color = "whiteAndBlack";
        car.price = 151513144.15;

        car.setSecret("daisiki sliencesiciha");
        System.out.println("她叫:" + car.brand + " ,颜色:" + car.color + "\n" +
                ",身价:" + car.price + ",最大的秘密是:" + car.getSecret());
        car.speed();
        car.fire();
        Car2 car2 = new Car2();
        System.out.println(car2.color);
        car2.fire();
    }
}
class Car{
    String brand;
    double price;
    String color;
    private String secret;

    public void setSecret(String secret) {
        this.secret = secret;
    }

    public String getSecret() {
        return secret;
    }

    public void speed(){
        System.out.println("最高时速:20马赫");
    }
    public void fire(){
        System.out.println("sa! 冲冲冲!!");
        hope();
    }
    private void hope(){
        System.out.println("上上下下,左左右右,BABA");
    }
}
class Car2 extends Car{

}

posted on 2021-06-07 19:42  无声specialweek  阅读(30)  评论(0编辑  收藏  举报

导航