从零开始学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("听歌");
}
}
三大基本特征
封装:
- 把一些属性和行为进行抽象,封装成一个“类”组件
- 隐藏具体的实现细节,提高程序的安全性
- 方法的封装,用private修饰方法,该方法只能在本类使用,如果想执行此私有方法的功能,调用公共方法(公共方法中调用私有方法)
- 属性的封装,private进行修饰,类外无法调用,想要赋值或者调用,需要用setxxx()和getxxx().
继承:
子类承载父类的属性和方法,也可以自己去定义自己的属性和方法
多态:
父类或接口定义的引用变量指向子类或具体实现类的实例对象
抽象:抽取共性,忽略个性
创建对象时,内存经历了什么?
- 在栈内存中开辟一块空间,存放引用类型变量p,并把p压入
- 在推内存中开辟一块空间,存放phone对象
- 完成对象的初始化,并赋予默认值
- 给初始化完毕的对象赋予唯一的地址
- 把地址交给引用类型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) 编辑 收藏 举报