java基础

1.类的概念

包:一些接口和类集合在一起,方便使用,类似c语言的头文件

使用import关键词,将所用的包导入

类:【修饰符】class 类名{类体}

类中包含构造函数 ,对象(变量),方法等

在一个程序中,只有一个pubic类,有一个主类中有main接口,是主程序的接口进入

类,用来写一整块的功能

【修饰符】包括public,private,abstract等

class Student
{
    public int height;
	private int id;
	private String name;
	private int score;
}

构造函数:分为无参构造和有参构造

构造函数是为了初始化变量,例如:建立了一个student类,自然要有年龄,名字,成绩的初始值

public Student(int id,String name,int score)
	{
		this.id=id;
		this.name=name;
		this.score=score;
	}
	
	public Student()
	{
		
	}

上面为有参构造,下面为无参构造

注意:构造函数没有返回值类型,名字和类名相同,可以被重载

方法 :【修饰符】返回值  方法名(形参,实参){方法体}

public void setId(int id)
	{
		this.id=id;
	}
	public int getId()
	{
		return id;
	}

相当于C语言中的函数,用于实现某个特定的功能

其中get,set函数,主要用来设置和获取私有变量的值,在继承和多态中,因为继承不能继承私有变量,可以通过get,set函数进行获取

2.常用类

在Java中有很多已经被设定好的类,在api的文档中,可以被调用。来简化使用的麻烦

如何调用类中的方法,先将类进行实例化(就是下列代码)实例化之后,进行 .方法的调用

      Student st1=new Student(1,"小亮",89);
	  Student st2=new Student(2,"小明",78);
	  Student st3=new Student(3,"小工",90);
	  Student st4=new Student(4,"小红",99);

主要的类有:String类Scanner类object类Arrays类等

具体参照以下链接

Java中的常用类_java类-CSDN博客

3.集合

(其实就是类似与数据结构)

(1)集合有两个父接口 Collection、Map
(2)Collection有两个子接口 List、set
(3)List有两个常见的实现类 ArrayList、LinkedList
(4)Set有两个常见的实现类 HashSet、TreeSet
(5)Map有两个常见的实现类 HashMap、HashTable
原文链接:https://blog.csdn.net/weixin_52071901/article/details/131180697

4.抽象类,接口,多态 ,继承,重写,重载

(相对于C语言加的一些新的概念)

抽象类:是指含有没有具体实现方法(只有方法头,没有方法体)的类,用abstract关键字 来进行识别

abstract class Animal {
    // 抽象方法,没有方法体
    abstract void makeSound();
 
    // 非抽象方法,有方法体
    void sleep() {
        System.out.println("Zzz");
    }
}

注意:抽象类不能被实例化,只能够被继承,继承的子类要实现父类(抽象类)的全部方法

可以包含非抽象类     一个类只能实现一个抽象类,

接口:抽象方法的集合,用interface和implement关键字来进行识别

因为类只能单继承,有了接口,可以有一个类可以实现多个接口,增加了灵活性

package intrFace;
public interface AreaInterface{
double pai=Math.PI;
double area();
}
package intrFace;
public class Circle implements AreaInterface{
double r;
public Circle(double x){
r=x;
}
//实现接口中的抽象方法,求圆面积
public double area(){
return pai * r * r;
}
public String toString(){
return "圆:r="+r+"\tarea="+area();
}
}

注意:接口并不等同于类,不能够实例化,实现接口要实现其中所有的方法,

不能包含非抽象方法,一个类可以实现多个接口

继承:可以设置一个新的类,从一个已经存在的类中拥有他的属性和方法,这个新的类叫做子类,被继承的类叫做父类,用extends关键词,利用super访问父类的变量,

可以重写父类的方法,可以增加新的属性,可以实现父类的抽象方法

多态:是使得不同的对象使用同一个方法时产生不同的效果,有三个限制:继承关系,重写,用父类引用指向子类对象

class Animal {
    public void sound() {
        System.out.println("动物发出声音");
    }
}

class Dog extends Animal {
    @Override
    public void sound() {
        System.out.println("狗发出汪汪声");
    }
}

class Cat extends Animal {
    @Override
    public void sound() {
        System.out.println("猫发出喵喵声");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal animal1 = new Dog(); // 父类引用指向子类对象
        Animal animal2 = new Cat(); // 父类引用指向子类对象

        animal1.sound(); // 输出:狗发出汪汪声
        animal2.sound(); // 输出:猫发出喵喵声
    }
}

重写:对于同一个方法,进行不同的方法体改变,实现不同的功能,

在子类继承自父类的方法中,返回值类型,方法名,参数列表都要和父类的方法相同,修饰符等级子类要在父类之上

重载:对于一个方法,实现不同的功能,在同一个类中,方法名要和原来方法相同,返回值,参数列表要不一样

  • 16
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值