Exercise
Test 03
面向对象
本质:以类的方法组织代码,以对象的组织封装数据
类与对象
静态方法:和类一起加载的,一个静态方法只能调用静态的东西
非静态方法:类实例化之后才存在
方法中的实参和形参的类型要一一对应
类名 对象名称 = new 类名(); //类被实例化后才可使用,称为对象
对象名称.属性名 //使用对象访问类中的属性
对象名称.方法名() // 访问类中的方法
//首先写一个包含属性和方法的类
public class Student{
//属性:字段Field(成员变量)
String name;
int age;
//方法
public void study(){
System.out.println(this.name+"2001");
}
}
//main中调用后类被实例化成对象
public class Application{
public static void main(String[] args){
Student jc = new Student(); //创建对象
jc.name = "久诚";
jc.age = 22;
System.out.println(jc.name); //久诚
System.out.println(jc.age); //22
}
}
使用new关键字创建对象时,除了分配内存空间以外,还会给创建好的对象
进行默认初始化,以及对类中构造器的调用。
构造方法
构造器即构造方法是在进行创建对象时必须调用的。
特点:1、构造方法没有返回值(不能写void)
2、构造方法名称必须和类名相同
3、构造方法主要是完成方法对属性的初始化工作
public class Person{
String name;
public Preson(){ //无参定义(与下面的有参构造方法互为重载)
}
public Person(String name){ //有参,一但定义了有参构造,无参就必须显示定义
this.name = name; //当使用构造方法赋值时,使用this调用本类的成员属性
}
}
public class Application{
public static void main(String[] args){
Person person = new Person("清清"); //使用new关键字,本质是调用构造器
System.out.println(person.name); //清清
}
}
注:如果不定义构造方法,那么Jvm会自动为该类生成一个无参构造方法
如果定义了有参构造方法,Jvm将不再生成无参构造方法
如果想使用无参构造,显示的定义一个无参构造
创建对象内存分析(了解)
public class Pet{
public String name;
public int age;
public void shout(){
System.out.println)("叫");
}
}
public class Application{
public static void main(String[] args){
Pet dog = new Pet();
dog.name = "小狗";
dog.age = 3;
dog.shout();
System.out.println(dog.name);
System.out.println(dog.age);
Pet cat = new Pet();
}
}
小结1
数据类型分为基本数据类型和引用数据类型
基本数据类型(8种): 整型:byte(8位1字节)、short(16位2字节)、int(32位4字节)、long(64位8字节)
浮点型:float(32位4字节)、double(64位8字节)
布尔类型:boolean(8位1字节):true、false
字符类型:char(16位2字节)
低 ---------------------------------------------------> 高
byte、short、char -> int -> long -> float -> double
转换顺序: 低容量到高容量是自动转换:byte、short、char 自动转换成 int、long、float、double
高容量到低容量是强制转换:
运算类型:如果两个操作数中有一个是double类型,那么自动转换成double类型
如果两个操作数中有一个是float类型,那么自动转换成float类型
如果两个操作数中有一个是long类型,那么自动转换成long类型
除此之外,都自动转换成int类型(如果两个short进行运算,也要先转换成int类型)
引用数据类型:对象是通过引用来操作的:栈 ----> 堆
标签:Java,name,构造方法,基础,System,println,整理,public,字节 From: https://www.cnblogs.com/RRubp/p/16838518.html