简介
这一期开始Java第二章的课程,主要有类、对象、static 关键字、this 关键字、包、访问权限这六个知识
👉至于为什么写这些东西,原因有很多,正是出于这样那样的初心,讲解的课程全都是免费开放的,如有讲错的地方欢迎读者指正!
那我们今天就开始Java第二章!
一、编程语言的几个发展阶段
1、面向机器语言
例如:
(计算机组成原理一书会深入学习,这里不要求掌握)
例如:
2、面向过程语言
3、面向对象语言
二、Java面向对象三大特性
1、封装性
将这些特性封装在一起,用类描述
class Vehicle { //一个类就是一个class文件,(文件类型)即" ***.java "的文件
int number;
double speed;
int power;
double oilwear;
double weight;
int wheel; //以上这些就是它的内部数据,外边其他的文件调用这个类不需要知道里面啥
public void speedUp(double speed){ ……}
public void speedDown(double speed){……}
public void brake(){……} //这些就是它对数据的操作(可以理解为函数一样的东西)
……
}
这是外部对这个类的使用方式:
2、继承性
抽象具体化如👇:
外部是这样的👇:
3、多态性
例如👇:
使用的时候是这样的👇:
就是类的内部操作(函数),可以同名,但具体操作要看给这个函数的参数是什么样的,系统会自动识别这些参数的类型,从而执行相应的操作。
三、Java的类
(这一部分相对抽象一些,学习的时候得慢点看)
1、类的概念
类的第一个部分👇:
类的第二个部分👇:
2、类 声明的形式
[public] [abstract | final] class 类名称
[extends 父类名称]
[implements 接口名称列表]
{
成员变量声明及初始化;
成员方法声明及方法体;
}
3、类体的内容
由两部分构成👇
—方法定义:用来刻画功能
例如:
class Lader {
float above,bottom,height,area; //变量定义部分
float computerArea() { //方法定义部分
area=(above+bottom)*height/2.0f;
return area;
}
void setHeight(float h) { //方法定义部分
height=h;
}
}
public class Clock
{ // 成员变量
int hour ;
int minute ;
int second ;
// 成员方法
public void setTime(int newH, int newM, int newS)
{
hour=newH ;
minute=newM ;
second=news ;
}
public void showTime()
{
System.out.println(hour+":"+minute+":"+second);
}
}
4、成员变量和局部变量
class Lader {
float above,bottom,height,area; //这些都是成员变量
float computerArea() {
System.out.println(area);
float area =(above+bottom)*height/2.0f;//area是局部变量
return area;
}
void setHeight(float h) { //h是局部变量
height=h; //height是成员变量
}
}
注意👉:
例如👇:
静态变量:即该类私有的,别的类不能直接访问也不能改变它的值,使用权和解释权归所在的类
对成员变量的操作只能放在方法中,在定义类的成员变量时可以同时赋初值,
例如👇:
局部变量在使用之前必须初始化或者赋值,否则无法使用
例如👇:
如果局部变量与成员变量名称相同,则:
成员变量被隐藏(即在该方法中,成员变量功能失效)
例如 👇:
public class Puppy {
String name = "旺财";
void dogBite() {
String name = "泰格";
System.out.println(name + " ,咬他!");
}
}
public class Main {
public static void main(String[] args) {
Puppy d = new Puppy();
d. dogBite();
}
}
运行结果是👇:
如果方法参数与成员变量名称相同,则:成员变量被隐藏
例如👇:
public class Puppy {
String name = "旺财";
void dogBite( String name ) {
System.out.println( name + " ,咬他!" );
}
}
Main函数是:
public class Main {
public static void main(String[] args) {
Puppy d = new Puppy();
d. dogBite("泰格 ");
}
}
运行结果为👇:
当方法的局部变量、方法参数与成员变量的名称相同时,如果想调用成员变量,必须使用“this”关键字
其中 •this代表调用该方法的当前对象
例如👇:
public class Puppy {
String name = "旺财";
void dogBite( ) {
String name = "泰格";
System.out.println( name + " ,咬他!" );
}
void dogBite ( String name ) {
System.out.println( name + " ,咬他!" );
}
}
public class Main {
public static void main(String[] args) {
Puppy d = new Puppy();
d. dogBite();
d. dogBite("泰格");
}
}
运行结果为👇:
把this加上后👇:
public class Puppy {
String name = "旺财";
void dogBite( ) {
String name = "泰格";
System.out.println( this.name + " ,咬他!" );
}
void dogBite ( String name ) {
System.out.println( this.name + " ,咬他!" );
}
}
Main不变,结果为👇:
5、成员变量声明小结:
[public | protected | private]
[static][ final]
变量数据类型 变量名1[=变量初值], 变量名2[=变量初值], … ;
结束语:
以上是Jav第二章的第一节,希望大家喜欢
下一节开始讲类的方法和对象
喜欢的可以点赞+关注哈 ❤