通过私有方法java在公共方法中查找变量

时间:2016-02-01 01:09:25

标签: java variables private public

是否可以通过public方法中的私有方法修改公共方法中调用的变量?

示例:// node.left node.right在构造函数中调用,所以不要介意

public boolean isFull(){
  Node node = root;
  int left;
  int right;
  left = isFullLeft(node.left);
  right = isFullRight(node.right);
  if(left.equalTo(right)) return true;
  else return false;

  private void isFullLeft(Node n){
    if(n != null) left++;
      isFullLeft(n.left);
      isFullLeft(n.right);

  private void isFullRight(Node n){
    if(n != null) right++;
      isFullRight(n.left);
      isFullRight(n.right);

代码刚刚放在一起我不确定我是否正确使用实际代码,因为我还在学习Java。但至少我的想法是否正确?谢谢。

编辑:方法中没有方法?但是这个代码里面有方法可以解释吗?

public int size() {
        return(size(root)); 
    }
        private int size(Node node) { 
          if (node == null) return(0); 
          else { 
            return(size(node.left) + 1 + size(node.right)); 

1 个答案:

答案 0 :(得分:0)

你不能在方法中使用方法,你应该定义一个由这些方法组成的类。

public class MyClass {

    .....

    public boolean isFull() {
        Node node = root;
        int left;
        int right;
        left = isFullLeft(node.left);
        right = isFullRight(node.right);
        if (left.equalTo(right)) return true;
        else return false;
    }

    private void isFullLeft(Node n) {
        if (n != null) left++;
        isFullLeft(n.left);
        isFullLeft(n.right);
    }

    private void isFullRight(Node n) {
        if (n != null) right++;
        isFullRight(n.left);
        isFullRight(n.right);
    }
}