A. java中为什么private方法有时候出现警告,而public方法却不会
Java 中的 private 方法是只能在类内部被调用的方法,而 public 方法则可以被任何地方调用。因此,在 Java 编译器中,private 方法比 public 方法更容易出现警告。
一般情况下,private 方法会被认为是在类内部使用的方法,因此如果一个 private 方法在类的外部被调用,编译器就会给出警告。这是因为,如果一个 private 方法在类的外部被调用,那么可能会导致安全问题或者其他不良的影响。
相比之下,public 方法是被认为是在类的外部使用的方法,因此如果局隐一个 public 方法在类的外部被调用,编译器就不会给出大腊拿警告。
当然,这并不是绝对的规则。在一些情况下,public 方法也可能滚搭会引起警告。例如,如果一个 public 方法被其他类调用时,如果该方法的实现有安全问题或者其他不良的影响,编译器也可能会给出警告。
B. java类里面private xxxxx() {}有何用处
private xxxxx() {}中xxxxx应该是类名,而整个就是一个私有的默认(无参)构造器。私有构造器的用誉渗处就是限定只庆锋脊能在本类内部创建类的对象,在类外不能通过私基耐有构造器来创建类的对象。
C. java中的private到底有什么用
private是访问控制修饰符,用来使用访问控制符来保护对类、变量、方法和构造方法的访问。
在程序中需要隐藏类的实现细节和保护类的数据时,就要使用private来修饰。例如:
public class Logger {
private String format;
public String getFormat() {
return this.format; }
public void setFormat(String format) {
this.format = format; }
}
实例中,Logger 类中的 format 变量为私有变量,所以其他类不能直接得到和设置该变量的值。为了使其他类能够操作该变量,定义了两个 public 方法:getFormat() (返回 format的值)和 setFormat(String)(设置 format 的值)。
(3)java类private扩展阅读
1、private的访问控制:
当前类:可见
同一包内:不可见
子孙类(同一包):不可见
子孙类(不同包):不可见
其他包:不可见
2、private的使用对象:变量、方法;不能修饰类(外部类)。
D. java中private什么意思啊
java中private是访问权限符。私有的意思。
private在英文里是私人的意思.
众所周知,JAVA是面向对象的一门语言,每个对象都有各自的属性和方法.但是有的属性涉及安全因素或秘密因素不能让外面的程序调用,所以就用到了private,
经过它定义的变量只能在此对象内部调用,外部程序就无法调用,也就是说只能供其自身调用,比如某个人是一个对象,那么他的血液就肯定是私有变量,只能供其自身调用来维持人的状态.而如果将血液定义成public(公共的)的话,随便其他人都可以改变他血液的状态,你随便把他的血液值设为逆流,那他不就挂了.
E. JAVA单链表中结点类用private修饰,怎么用在链表类里
在Java单链表中,节点类通常包含两个属性:一个存储数据的变量和一个指向下一个节点谈兄皮的变量。为了保证数据的封装性,通常会将这两个属性都用private修饰,然后提供对应的getter和setter方法含差来访问和修改这些属性。
下面是一个简单的Java单链表节点类示例:
public class ListNode {
private int val;
private ListNode next;
public ListNode(int val) {
this.val = val;
}
public int getVal() {
return val;
}
public void setVal(int val) {
this.val = val;
}
public ListNode getNext() {
return next;
}
public void setNext(ListNode next) {
this.next = next;
}
}
在链表类中,我们需要创建一个头节点来表示整个链表的起始位置。可以将链表类的定义如下:
public class LinkedList {
private ListNode head;
public LinkedList() {
this.head = null;
}
// 添加节点到链表尾部
public void addNode(int val) {
ListNode newNode = new ListNode(val);
if (head == null) {
head = newNode;
} else {
ListNode cur = head;
while (cur.getNext() != null) {
cur = cur.getNext();
}
cur.setNext(newNode);
}
}
// 遍历链表并输出节点值
public void traverse() {
ListNode cur = head;
while (cur != null) {
System.out.print(cur.getVal() + " ");
cur = cur.getNext();
}
System.out.println();
}
}
在链表类中,我们将head属性也用private修饰,并提供对应的getter和setter方法来访问和修改head属性。在addNode方法中,我们首先判断链表是否为空,如果为空,直接将新节点作为头节点;否则,遍历链表找到尾节点并将新节点接在其后面。在traverse方法中,我们遍历整个链表并输出每个节点的值。
使用时,可以创建一个新的LinkedList对象,然后调用其addNode方法添加节点,最后调尘和用traverse方法遍历链表并输出每个节点的值。例如:
public static void main(String[] args) {
LinkedList list = new LinkedList();
list.addNode(1);
list.addNode(2);
list.addNode(3);
list.traverse();
}
这段代码会输出:1 2 3。