文章目录 可以有多个类,但只能有一个public类类 = 字段+方法类的构造函数我们没写构造函数的时候如果我们自己写了构造函数构造函数中 this 的使用 类的修饰符 / 控制符第一
java中最常见的就是类,可以说,Java程序是由一个一个的类组成的
在c++中,我们只有在面向对象编程的时候才会用到类,一般想实现某一个功能可以写一个函数。
在一个 .java 程序中,可以出现多个类,但有且仅有一个类是 public 并且这个public类的名字必须和文件名相同,看图片来的快,有图有真相
我们看到此时主类的名字和文件名相同,此时没有报错,如果我改一下主类的名字,情况如下
很明显的报错,下面我们来看看错误原因
翻译过来就是:hello 类是public的,应该被声明在一个文件名叫 hello.java 的文件中。
下面我们来看一下一个java中有多个类型情况:
这里就是记住java中可以有多个类,但是只能有一个public类。
因为每一个java程序运行的时候都会先执行public这个类,而且只执行public类中的代码,如果写了其他的类但是在public类中没有用到,就不会执行其他的类,但是这个类的写法必须正确;如果写了其他的类并在public类中使用了其他的类,那么也会执行其他类的相应代码。
而且除public类之外的其他类也可以写在public类的后面,即使在主类中要调用这个类
代码:
public class Main { public static void main(String args[]) { System.out.println("hello world!"); person p=new person(); //创建一个person类 p.sayhello(); //调用类其中的一个方法 }}class person{ String name; int age; void sayhello(){ System.out.println("嗨嘿嗨"); } void printages(){ System.out.println(age); }}
我们可以看到在程序截图中可以看到有 1 usage 或者 2 usages ,但是在单纯的代码片段中没有。
这个单词 usage 的意思是 用法,惯例
也可以认为是 仓库中本jar被其他Jar依赖引用的次数。
其实就是某个变量或者函数被使用的次数,这个其实不用管它,影响不大。
我们举一个类的例子:
class person{ //name和age属于类中的字段 String name; int age; //sayhello()函数属于类的方法 void sayhello(){ System.out.println("嗨嘿嗨"); }}
类的构造函数可以用来给一个类的数值赋一个初值,用来初始化(new)该类的一个新的对象。
而且构造函数和类名同名,并且不需要写返回值类型。
class person{ String name; int age; person(String s,int a){ //类的构造函数 name=s; age=a; } void sayhello(){ System.out.println("嗨嘿嗨"); } void printages(){ System.out.println(age); }}
如果我们自己没有写构造函数,那么程序会自动生成一个默认构造函数,这个默认构造函数没有参数,函数中也没有任何语句,也就是相当于什么都不做。
默认生成的类似于这样
person(){}
其实就是什么都没做。
在没写构造函数的时候,初始化一个新对象的时候,不需要写参数
运行结果
那么程序就不会再生成默认构造函数了,在初始化一个对象的时候,就使用咱们自己写的构造函数了,并且如果自己写的构造函数中有参数,必须要加上参数,否则报错,如果本身就没写参数,那么可以不写。
还是看图片来的快
比如说,age=和 this.age 是一样的,都是可以运行的。
void printages(){ System.out.println(age);}
void printages(){ System.out.println(this.age);}
这样写也是可以运行的,那么this.name指的就是域变量,name指的就是参数变量。
person(String name,int age){ this.name=name; this.age=age;}
person(){this()...}
作用:可以修饰类,也可以修饰类中的成员(字段,方法)
public, private, protected,
类的访问控制符为public或者默认。
如果类用public修饰,则该类可以被其他类所访问。
如果类是默认访问控制符,则改类只能被同包中的类访问。
abstract, static, final
import java.io.*;public class Main { public static void main(String args[]) { person p=new person("ycy",16); //创建一个person类 System.out.println(p.age); //这里用一个实例化的对象来访问类中static字段 System.out.println(person.age); //这里可以用类名来直接访问类中static字段 }}class person{ String name; static int age; person(String name,int age){ this.name=name; this.age=age; }}
输出结果:
来源地址:https://blog.csdn.net/xiatutut/article/details/127061062
--结束END--
本文标题: Java中的类(基础详解)
本文链接: https://lsjlt.com/news/388826.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-04-01
2024-04-03
2024-04-03
2024-01-21
2024-01-21
2024-01-21
2024-01-21
2023-12-23
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0