🌹作者:云小逸
📝个人主页: 云小逸的主页
📝Github: 云小逸的Github
🤟motto:要敢于一个人默默的面对自己, ==强大自己才是核心==。不要等到什么都没有了,才下定决心去做。种一颗树,最好的时间是十年前,其次就是现在!学会自己和解,与过去和解,努力爱自己。==希望春天来之前,我们一起面朝大海,春暖花开!==🤟
👏专栏:C++👏 👏专栏:Java语言👏
👏专栏:C语言初阶👏👏专栏:数据结构👏
@TOC
前言
大家好,很高兴你点开这篇文章,这是【JAVA语言学习】专栏的第二篇文章,这篇文章主要讲述的是:类和对象,构造器,接口,案例知识:键盘录入技术,随机数Random类。
希望你可以喜欢,加油
——————————————————————————————
首先先摘抄几句话送给你:献给坚持创作的我和点开这篇文章希望进步的你
1.跑步的多巴胺仅次于谈恋爱:三公里专治各种不爽,五公里专治各种内伤,十公里跑完,内心全是坦荡和善良。
2.你自己不倒,别人想推都推不倒,你自己不想站起来,被人扶也扶不起。能让你扬眉吐气的只有你自己。
你的独立和强大,你学得的知识和技能才是你最大的归宿和荣光。努力的过程本就是孤岛,但最后抵达的一定是充满生机的彼岸。
3.永远不要因为一些不值得的事和人而颓废,以至于浪费了你的自我提升的时间。沉默的努力吧,这才是你现在需要当作目标的事。
别摆烂了,摆烂没未来,去努力吧,试炼的终点终会是花开万里。
1.类和对象:
a.类是什么?对象是什么?
可以把类理解为==设计图==(相同事物共同特征的描述),对象是类的具体的实例。
结论:在Java中,必须先设计类,才能创建对象并使用。
b.类:
(1)类的格式:
public class Car {
// 属性(成员变量)
String name; // 名称
double price; // 价格
// 行为(方法)
public void start(){
}
public void run(){
}
}
定义类有一些注意事项:
1、类名首字母建议大写,有意义,满足驼峰,不要用关键字,合法的标志符
2、一个Java文件中可以定义多个类,但是只能一个类是public修饰的,而且public修饰的类名必须成为Java代码的文件名称,否则报错!
3.成员变量的完整定义格式是:==修饰符 数据类型 变量名称 = 初始化值;== 一般无需指定初始化值,存在默认值
(2)类怎么写?
以定义汽车类为例
一般名词定义成成员变量(属性):
修饰符 数据类型 变量名称 = 初始值;
private String name;
private double price;
成员变量不建议给初始化值,存在默认值,默认值的规则:整型是0,浮点型是0.0 引用类型null,布尔型是false
一般动词定义成方法(行为)
具体定义类的例子
public class Car {
// 名词(属性,成员变量)
String name;
double price;
// 动词(行为,成员方法)
public void start(){
System.out.println(name + "价格是" + price +"启动成功~~");
}
public void run(){
System.out.println(name +
"价格是" + price +"性能很好,跑的很快~~");
}
}
c.对象:
创建对象
类名 对象名 = new 构造器();
对象怎么使用
对象名.成员变量
对象名.成员方法
2.构造器:
作用:
定义在类中的,可以用于初始化一个类的对象,并返回对象的地址
详细格式:
修饰符 类名(形参列表){
...
}
如:
// 无参数构造器
public Car(){
...
}
// 有参数构造器
public Car(String n, double p){
...
}
构造器的分类:
无参数构造器
初始化一个类的对象,并返回这个对象的地址,里面的数据都是默认值
有参数构造器
初始化一个类的对象,并返回这个对象的地址,并且可以同时为对象赋值。
构造器如何调用呢?
类名 对象名 = new 构造器;
注意:
任何类写出来自带一个无参数构造器,写不写都会有的
如果你在这个类中定义了一个有参数构造器了,那么无参数构造器就消失了,此时,如果你还要使用无参数构造器,你必须自己写一个。
例子:
public class Car {
String name;
double price;
/**
无参数构造器
*/
public Car(){
System.out.println("无参数构造器被调用了~~");
}
/**
有参数构造器
*/
public Car(String n, double p){
System.out.println("有参数构造器被调用了~~");
name = n;
price = p;
}
}
3.接口:
a.接口是什么?
接口是规范:约束别人必须干什么事情。
1.规范的基本特征是约束和公开。
2.接口中的抽象方法:默认会自动加上public abstract修饰,不写也有
3.接口中的常量。默认加上public static final修饰,写不写也有
b.格式:
c.接口的基本使用:
被类实现:实现接口的类称为实现类(子类)
注意:接口可以被类多实现
注意:一个类实现多个接口,必须重写完全部接口的全部抽象方法,
否则这个类必须成为抽象类。
d.接口与接口的关系
1.类与类:单继承,一个类只能继承一个直接父类。
2.类与接口:多实现,一个类可以实现多个接口
3.接口与接口:多继承,一个接口可以继承多个接口。这样可以合并多个接口。
e.接口从JDK 8开始新增了3个方法。
1、默认方法:其实就是实例方法。
-- 必须用default修饰,默认会自带public
-- 必须用接口的实现类的对象来调用
2、静态方法
-- 必须static修饰,默认会自带public
-- 必须用接口名自己调用
3、私有实例方法:
-- 必须用private修饰
-- 只能本接口中访问。
-- 一般给接口中其他的默认方法或者私有实例方法使用的
/**
1、默认方法:其实就是实例方法。
-- 必须用default修饰,默认会自带public
-- 必须用接口的实现类的对象来调用
*/
default void run(){
go();
System.out.println("==跑的贼溜==");
}
/**
2、静态方法
-- 必须static修饰,默认会自带public
-- 必须用接口名自己调用
*/
static void inAddr(){
System.out.println("我们在黑马");
}
/**
3、私有实例方法:
-- 必须用private修饰
-- 只能本接口中访问。
-- 一般给接口中其他的默认方法或者私有实例方法使用的
*/
private void go(){
System.out.println("开始跑~~");
}
}
新增三种方法给Java自己用的。为了方便项目维护。
我们只需要知道有这三种方法,并且明白特点会访问即可。
f.注意:
1、接口不能创建对象
2、一个类实现多个接口,多个接口的规范不能冲突
2、一个类实现多个接口,多个接口中有同样的静态方法不冲突。
3、一个类继承了父类,同时又实现了接口,父类中和接口中有同名方法,默认用父类的。
4、一个类实现了多个接口,多个接口中存在同名的默认方法,可以不冲突,这个类重写该方法即可。
5、一个接口继承多个接口,是没有问题的,如果多个接口中存在规范冲突则不能多继承。
4.案例知识:键盘录入技术
1、导包(自动导包):import java.util.Scanner;
2、创建一个扫描器对象:Scanner sc = new Scanner(System.in);
3、等待接收用户的数据:int age = sc.nextInt();
4、等待接收用户的数据:String name = sc.next();
5.案例技术:随机数Random类
作用:产生一个随机数
步骤
1、导包(自动做的:) import java.util.Random;
2、创建随机数对象:Random r = new Random();
3、开始得到随机数 : int data = r.nextInt(10); // 0 - 9
最后
十分感谢你可以耐着性子把它读完和我可以坚持写到这里,摘抄几句话送给你,对你,也对我:
1.想起一句话:“江湖不相信眼泪,社会不同情弱者。”生活不会因为你的脆弱,给你想要的一切,更不会因为你的痛苦,为你降低标准。没人在乎你辗转反侧的几个夜晚,也没人在乎你奔波劳碌的几个春秋。别人只关心你有没有本事,拿出了什么结果。
2.水再浑浊,要长久沉淀,依然会分外清澈。人再愚钝,只要足够努力,一样能改写命运。不要愤懑起点太低,那只是我们站立的原点。人生是一场漫长的竞赛,有些人笑在开始,有些人却赢在最后。
3.我从未见过一个早起、勤奋、谨慎、诚实的人,抱怨命运不好的。但努力是一件特别需要沉下心来长久坚持的事。它成长的土壤需要一个人单打独斗,忍受无数个孤独和寂寞的日子。心可以碎,手不能停,该干什么干什么,在崩溃中继续前行,这才是一个成年人该有的素养。
最后如果觉得我写的还不错,请不要忘记==点赞==✌,==收藏==✌,加==关注==✌哦(。・ω・。)
愿我们一起加油,奔向更美好的未来,愿我们从懵懵懂懂的一枚==菜鸟==逐渐成为==大佬==。加油,为自己点赞!